如何将三个输入组合成一个字符串值?

时间:2013-09-24 13:15:53

标签: c# asp.net tsql

我正在创建一个客户端评论部分页面,我想让用户输入原始的单词格式并使用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;"));

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

2 个答案:

答案 0 :(得分:2)

您需要将转化应用于之前转化的结果。

例如:

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

我没有看到在一条线上做到这一点的好方法。

答案 1 :(得分:2)

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