解决ASP.NET MVC 检测到有潜在危险的 Request.Form 值

解决ASP.NET MVC 检测到有潜在危险的 Request.Form 值(转)

http://www.cnblogs.com/nozer/archive/2011/12/25/2301394.html


提交使用html编辑器编辑后的数据,由于Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。

解决方法如下:

1.修改Web.config Pages节点,更改为以下配置

添加  <httpRuntime requestValidationMode="2.0"/>元素。
添加  <pages validateRequest="false" > 元素。


<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"/>




2.在Action 添加[ValidateInput(false)]属性

      [HttpPost] 
     [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();  
         }  
     }  

你可能感兴趣的:(asp.net)