解决ASP.NET MVC 检测到有潜在危险的 Request.Form 值
2010-08-24 10:50 Creative dream 阅读(2469) 评论(2) 收藏 举报在提交使用html编辑器编辑后的数据,由于Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。
ASP.NET MVC默认会给我们报以下错误,如下图显示:

- 开发工具:VS 2010 EN
- 开发语言:Visual C#
- ASP.NET MVC 2.0
解决方法如下:
1.修改Web.config Pages节点,更改为以下配置
<pages validateRequest="false" >
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
<httpRuntime requestValidationMode="2.0"/>
添加 httpRuntime元素。
2.在Action 添加[ValidateInput(false)]属性
//
// POST: /Blog/Create
[HttpPost]
[ValidateInput(false)]
public ActionResult Create(Blog blog)
{
try
{
// TODO: Add insert logic here
if (ModelState.IsValid)
{
blogContainer.AddToBlogs(blog);
blogContainer.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
return View();
}
}
浙公网安备 33010602011771号