在ASP.NET中出现A potentially dangerous Request.Form value was detected from the client错误是因为Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。
解决方案:
- 在.aspx文件头中加入:
<%@ Page validateRequest="false" %>
- 如果是在.Net4.0中,还需要在配置文件中加入以下代码:
<httpRuntime requestValidationMode="2.0"/>
- 在配置文件中加入以下代码:
<pages validateRequest="false" />但是这样的写法不安全,请慎用。可以指定某些页面不验证:
-
<location path="Views/News/Edit.ascx"> <system.web> <pages validateRequest="false" /> </system.web> </location>
- 其他方案:在Controller的Action前面加入[ValidateInput(false)]
- 如果以上方案都没有效果,那就只能使用终极解决方案:在ViewModel的属性上添加[AllowHtml]