所以,我知道如何用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>
答案 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/>"));
顺便说一句,我认为最后一次替换不会对您发布的示例文本做任何事情,但这超出了我想问的范围。