0

我正在创建一个客户端评论部分页面,我正在尝试获取用户输入的原始单词格式并使用 t-sql 将其保存到数据库中。所以我将字符串评论保存到数据库中,它将在评论页面中显示为评论。这些是我试图组合的,以便我得到正确的输出,如下所示......

通过 sql 绕过单个 qoutes 工作的代码:

string comment = Server.HtmlEncode(TextBox2.Text.Replace("'", "''"));

进行回车的代码

string comment = Server.HtmlEncode(TextBox2.Text.Replace("\r\n", "<br />"));

进行间距和缩进的代码

string comment = Server.HtmlEncode(TextBox2.Text.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;"));

所以我尝试了这样的事情:

string comment = Server.HtmlEncode(TextBox2.Text.Replace("'", "''")) +  Server.HtmlEncode(TextBox2.Text.Replace("\r\n", "<br />")) + Server.HtmlEncode(TextBox2.Text.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;"));

但是通过 sql 绕过单个 qoutes 的代码可以工作,而进行间距和缩进的代码不起作用...如何更正我的代码?我该如何解决?谢谢

4

2 回答 2

2

您需要将转换应用于先前转换的结果。

例如:

string comment = TextBox2.Text.Replace("'", "''");
comment = comment.Replace("\r\n", "<br />");
comment = Server.HtmlEncode(comment.Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;"));

我没有看到一种体面的方法可以在一行中做到这一点。

于 2013-09-24T13:18:49.180 回答
2
string comment = Server.HtmlEncode(TextBox2.Text
                    .Replace("'", "''")
                    .Replace("\r\n", "<br />")
                    .Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;"));
于 2013-09-24T15:22:31.100 回答