使用C#使用换行符解码转义的html数据

时间:2010-11-10 07:01:31

标签: jquery textarea newline

我正在使用jquery ajax从<textarea name="comments">发送数据。到数据将存储在SQL数据库中的服务器。

如果TextBox包含
Line1
Line2
Line3,

以下字符串将传递给服务器 comments=Line1%0ALine2%0ALine3(使用javascript的escape函数编码的数据)。

但是,我无法在服务器上解析它(使用C#) 我试过这些方法,但都没有奏效。
(Request.Form["comments"]).Replace("\r\n","<br/>");
(Server.UrlDecode(Request.Form["comments"])).Replace("\r\n","<br/>");

欢迎所有建议。我不知道我在哪里弄乱(客户端或服务器端),但它不起作用。最终目标是将数据存储在SQL Server数据库中以供以后检索。

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

编辑以响应您的修改:

%0A是\ n,而不是\ r \ n

“\ r \ n”是两个单独的字符(ASCII 0xD和0xA)。

Replace("\r\n")更改为Replace("\n")

答案 1 :(得分:1)

所以基于泥浆的答案,你需要

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

但是如果你做的话会更好

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

答案 2 :(得分:0)

Microsoft.JScript.unescape是完全等价的。有关详细信息,请参阅this blogpost