HTMLencode HTMLdecode

ele*_*nor 4 .net c# asp.net html-encode

我有一个文本区域,我想将用户输入的文本存储在数据库中,其中html格式如段落,编号列表.我正在使用HTMLencode和HTMLdecode.

我的代码示例如下:

string str1 = Server.HtmlEncode(TextBox1.Text);
Response.Write(Server.HtmlDecode(str1));
Run Code Online (Sandbox Code Playgroud)

如果用户输入带有2个段落的文本,则str1在段落之间显示字符\ r \n\r \n.但是当它将它写入屏幕时,只需在第1段附加第2段.我正在解码它,为什么不打印2段?

Kel*_*sey 12

简单的解决方案是:

string str1 = Server.HtmlEncode(TextBox1.Text).Replace("\r\n", "<br />");
Run Code Online (Sandbox Code Playgroud)

这假设您只关心获得正确的<br />标签.如果你想要一个真正的格式化程序,你需要一个像Aaronaught建议的库.