2010-11-10 5 views
0

J'utilise jquery ajax pour envoyer des données à partir d'un <textarea name="comments">. à un serveur où les données seront stockées dans une base de données SQL.Décodage des données html échappées avec newlines en utilisant C#

Si la zone de texte contient
Ligne1
Line2
Line3,

La chaîne suivante est de se passer au serveur comments=Line1%0ALine2%0ALine3 (données codées en utilisant la fonction de javascript escape).

Cependant, je suis incapable d'analyser cela sur le serveur (en utilisant C#) J'ai essayé ces approches, et aucune d'elles n'a fonctionné.
(Request.Form["comments"]).Replace("\r\n","<br/>");
(Server.UrlDecode(Request.Form["comments"])).Replace("\r\n","<br/>");

Toutes les suggestions sont les bienvenus. Je ne sais pas où je me trompe (côté client ou côté serveur), mais ça ne marche pas. Le but ultime est de stocker les données dans une base de données SQL Server pour une récupération ultérieure.

Merci de votre aide!

Répondre

1

Edité en réponse à votre édition:

% 0A \ n, pas \ r \ n

"\ r \ n" est deux caractères séparés (ASCII 0xD et 0xA).

Remplacez Replace("\r\n") par Replace("\n").

+0

Désolé pour l'erreur de la question, je l'ai mise à jour maintenant. C'est en fait 'comments = Line1% 0ALine2% 0ALine3'. – Sekhar

+0

oh !!. il a raté mon observation complètement .. merci beaucoup !. Après avoir passé quelques heures, je n'ai même pas pu traiter la réponse que vous m'aviez donnée au départ !! Je vais le tester et vous le faire savoir. Merci. – Sekhar

+0

Merci .. Ça a marché !! J'aurais dû demander ici depuis longtemps. – Sekhar

1

donc en fonction des réponses de boue, vous aurez besoin

(Request.Form["comments"]).Replace("\n","<br/>"); 

mais serait mieux si vous avez

(Request.Form["comments"]).Replace("\r", "").Replace("\n","<br/>"); 
+0

Merci. Ça marche maintenant! – Sekhar

0

Microsoft.JScript.unescape est l'équivalent exact. Voir this blogpost pour plus detais.

+1

Oui, mais la première ligne des documents de l'API indique ' Cette API prend en charge l'infrastructure .NET Framework et n'est pas destinée à être utilisée directement à partir de votre code.', vous ne devriez donc pas vous attendre à ce qu'elle soit disponible à l'avenir – belugabob