插入db

时间:2016-05-18 12:08:31

标签: c# asp.net webforms

所以,我知道如何用br

之类的东西来做
cmd.Parameters.AddWithValue("@text", TextBox1.Text.Replace("\n", "<br/>"));

但是如何添加多个替换呢?我试过了..

cmd.Parameters.AddWithValue("@text", TextBox1.Text.Replace("\n", "<br/>").Replace("\b", "<b/>"));

但它不起作用,给了我一个错误

@Edit

我得到的错误

A potentially dangerous Request.Form value was detected

这就是我在文本框中的内容

test</b>

2 个答案:

答案 0 :(得分:0)

如果您希望获得这样的文本框值,可以尝试将<httpRuntime requestValidationMode="2.0" />添加到您的web.config中。或者将<pages validateRequest="false" />添加到web.config中的<system.web>块可以帮助您摆脱错误消息。

顺便说一下。如果您想将</br>替换为\n,那么您的做法是错误的。 .Replace("\n", "</br>")\n替换为</br>

答案 1 :(得分:0)

在我看来,你只需要禁用验证。将其添加到您的aspx页面顶部:

<%@ Page validateRequest="false" %>

请记住,默认情况下这是为了保护您的网页免受脚本攻击。阅读本文以获取更多信息:http://www.asp.net/whitepapers/request-validation

但是对于你想要做的事情,这应该可以解决问题,尽管我不建议在安全性问题的应用程序中使用。

修改

为了完整起见,我认为您可以在不禁用验证的情况下执行其他操作。

HttpUtility.HtmlEncode(TextBox1.Text).Replace("\n", "<br/>").Replace("\b", "<b/>"));

顺便说一句,我认为最后一次替换不会对您发布的示例文本做任何事情,但这超出了我想问的范围。