我正在使用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数据库中以供以后检索。
感谢您的帮助!
答案 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。