1

我在 MVC3 项目中有一个表单。我的输入字段之一应该接受 HTML。不幸的是,我不能有这个值映射到的 ViewModel。该字段是自动生成的并自动读入。我收到以下错误。

  A potentially dangerous Request.Form value was detected from the client

由于没有视图模型,我无法应用 [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"));

不幸的是,我不知道这种方法在哪里/是否存在

4

2 回答 2

2

你可以试试这个ValidateInput(false)属性:

[ValidateInput(false)]
public ActionResult YourAction(FormCollection yourCollection)
{
    // your stuff
}
于 2012-04-10T22:14:33.000 回答
0

为您的操作方法使用 ValidateInput 属性。似乎不安全,但应该可以工作,现在无法测试。

于 2012-04-10T22:16:54.593 回答