毫无疑问这是一个bug,很多用户升级到rc时都遇到了这个问题,以前很正常的提交只要带有html标签就被报"...从客户端中检测到有潜在危险的 request.form 值。"即使在web.config中禁用页面验证也会出现这个问题.

成因和部分解决方法见:

ASP.NET MVC 3里面客户端输入验证的改动

另一解决方法见:

http://weblogs.asp.net/imranbaloch/archive/2010/11/14/mvc-3-rc-bug-and-quick-solution.aspx

我采用后者的解决方案:

1,后台页面中增加using System.Web.Helpers;的引用

2,修改请求的httppost方法:

之前:


 1 public ActionResult ActionA(FormCollection form1)
 2 {
 3     return View();
 4 }
 5 public ActionResult ActionB(int i,FormCollection form)
 6 {
 7     return View();
 8 }
 9 public ActionResult ActionC(int i, FormCollection formABC, string j, [Bind(Include = "Name,Address")] Student s)
10 {
11     return View();
12 }
13 public ActionResult ActionD(int i, string j,FormCollection f , string k, string t)
14 {
15     return View();
16 }
17 public ActionResult ActionE(FormCollection form123, string t, string t2)
18 {
19     return View(new Student { Age = 30, Name = "Akbar" });
20 }

之后:


 1 public ActionResult ActionA()
 2 {
 3     FormCollection form1 = new FormCollection(Request.Unvalidated().Form);
 4     return View();
 5 }
 6 public ActionResult ActionB(int i)
 7 {
 8     FormCollection form = new FormCollection(Request.Unvalidated().Form);
 9     return View();
10 }
11 public ActionResult ActionC(int i, string j, [Bind(Include = "Name,Address")] Student s)
12 {
13     FormCollection formABC = new FormCollection(Request.Unvalidated().Form);
14     return View();
15 }
16 public ActionResult ActionD(int i, string j, string k, string t)
17 {
18     FormCollection f  = new FormCollection(Request.Unvalidated().Form);
19     return View();
20 }
21 public ActionResult ActionE( string t, string t2)
22 {
23     FormCollection form123 = new FormCollection(Request.Unvalidated().Form);
24     return View(new Student { Age = 30, Name = "Akbar" });
25 }

MVC ValidateInput(false)页面验证失效的解决方案的更多相关文章

  1. mvc配合jquery.validate验证失效,情况之一

    用viewbage绑定input空间的value值,通过submit提交.validate验证失效. 1.应该是mvc的渲染顺序导致js验证失败. 解决方案:改用mvc自带的@html辅助方法,生成文 ...

  2. mvc3.0中[ValidateInput(false)]失效的问题

    在asp.net mvc3.0中[ValidateInput(false)]特性失效了,只需要在网站根目录中的web.config中做如下配置即可: <system.web> <ht ...

  3. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  4. ASP.NET MVC学习之模型验证篇

    一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们.慢慢的已经在博客园中度过一年半了,伊始只是将博客园作为自己学习的记录本一样使用,也不敢将自己的随笔发表到博客园首页,生怕自己的技艺不高,反 ...

  5. ASP.NET MVC学习之模型验证详解

    ASP.NET MVC学习之模型验证篇 2014-05-28 11:36 by y-z-f, 6722 阅读, 13 评论, 收藏, 编辑 一.学习前的一句话 在这里要先感谢那些能够点开我随笔的博友们 ...

  6. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 【转】

    http://www.cnblogs.com/powertoolsteam/p/MVC_five.html 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会 ...

  7. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  8. 【ASP.NET MVC系列】数据验证和注解

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

  9. Diy页面服务端渲染解决方案

    1. 问题由来 在移动互联网电商领域,运营每天需要搭建多个促销页面来吸引用户去点击去购买,一开始程序员临时写个新页面去实现,可这些页面可以用几次就不用了,每次创建新页面去实现费时费力,而且,电商的运营 ...

随机推荐

  1. (51) magento集成增加到款通知

    这篇主要讲述如何二开增加自己的功能,我没有继承方式二开,习惯是不好的,直接改了原来的模块. 达到效果就这样,当在网站支付成功,会同步到ERP系统中.下面来讲述实现过程 建立文件 payment_not ...

  2. 解决jquery动态增加元素后children值没有变的问题

    html代码如下: <ul id="attr_input_panel"> <li> <div class="attr_input_item& ...

  3. Ubuntu 10.04 右上角网络管理图标消失的解决的方法

           那个显示网络状态的那个图标.叫做:network-manager.假设是有线网络连接的话.是上下两个箭头,假设是无线网络的话.是一个发射信号的形状. sudo gedit /etc/Ne ...

  4. asp.net的临时文件夹

    https://msdn.microsoft.com/en-us/library/ms366723.aspx Compilation Output   When your code is compil ...

  5. Find or Query Data with the mongo Shell

    https://docs.mongodb.com/getting-started/shell/query/ Overview You can use the find() method to issu ...

  6. canvas指定的宽高写在行间和写在style里面的区别?

    上代码,指定的canvas宽高都一样,线条的粗细都是5px 1.宽:400:高:300:直接写在<canvas>里的效果: 2.删除<canvas>里的宽高,宽:400:高:3 ...

  7. python对MySQL进行添加修改删除以及字符串的操作

    # coding=UTF-8 import MySQLdb def dbDperate(sql,param): "定义数据库的添加,修改和删除操作" #获取数据库的连接对象 con ...

  8. iOS单例创建的一点疑惑

    线程安全的单例常用写法, +(AccountManager *)sharedManager{ static AccountManager *defaultManager = nil; disptch_ ...

  9. 机器学习(七) PCA与梯度上升法 (下)

    五.高维数据映射为低维数据 换一个坐标轴.在新的坐标轴里面表示原来高维的数据. 低维 反向 映射为高维数据 PCA.py import numpy as np class PCA: def __ini ...

  10. stuff(param1, startIndex, length, param2)

    1.作用 stuff(param1, startIndex, length, param2)将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用pa ...