我在MVC3项目中有一个表单。我的一个输入字段应该接受HTML。不幸的是,我不能拥有这个值映射到的ViewModel。该字段自动生成并自动读入。我收到以下错误。MVC3,关闭不在视图模型中的字段的字段验证
A potentially dangerous Request.Form value was detected from the client
由于没有viewmodel,我不能应用[AllowHTML]属性。有谁知道一个解决方法,不涉及禁用整个页面的验证?
谢谢
附加信息: 我可以通过以下操作访问未经验证的值:
using System.Web.WebPages;
using System.Web.Helpers;
.....Inside Controller....
string value = Request.Unvalidated("input-40");
现在的问题是,Request.Params集合抛出异常。我想访问所有其他值,并验证它们...只是不是那个。有没有办法让我明确验证其他字段或访问验证的集合。
下就可以了
string value = System.Web.Something.ValidateInput(Request.Unvalidated("input-41"));
不幸的是,我不知道在哪里/如果此方法存在
如果这是行为的一个参数,我认为你可以使用AllowHTML来修饰参数,虽然我不积极。 – 2012-04-10 22:12:48
我认为你可以使用[ValidateInputAttribute](http://msdn.microsoft.com/en-us/library/system.web.mvc.validateinputattribute.aspx)来修饰操作,但这会影响整个表单集合。 – 2012-04-10 22:14:04
如果我可以弄清楚如何手动调用其他字段值的验证,那么修饰操作就没有问题。有任何想法吗?我会找一些像System.Web.ValidateInput(Request.Params [“input-name”]) – AFrieze 2012-04-10 22:32:14