无法禁用控件上的验证

时间:2018-12-13 13:50:58

标签: c# asp.net-mvc validation

在mvc 4中,我必须遵循以下代码段:

[HttpPost]
[ValidateInput(false)]
public async Task<ActionResult> EmailHandle()
{
    OtherClass.SomeProcess(Request.Form);
}

public static class OtherClass 
{
   public static void SomeProcess(NameValueCollection coll) 
   {
       var value = coll["someKey"];
   }
}

问题在于,尽管有ValidateInput(false),我仍然无法从收藏中获得价值。 (var value = coll["someKey"];)由于错误:

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

为什么还会发生这种情况?我不想全局禁用验证。

2 个答案:

答案 0 :(得分:2)

发现问题。要允许读取危险值,我们可以使用:

Request.Unvalidated().Form

Unvalidated()扩展方法在System.Web.Helpers中可用。

答案 1 :(得分:0)

我认为您应该使用

[AllowHtml]