ActionMethodSelectorAttribute + AllowHtml

时间:2011-07-23 13:40:24

标签: asp.net-mvc asp.net-mvc-3 filter actionfilterattribute

我有一个ActionMethodSelectorAttribute,我有以下几行:

 var req = controllerContext.RequestContext.HttpContext.Request.Form.AllKeys.Any() ? controllerContext.RequestContext.HttpContext.Request.Form : controllerContext.RequestContext.HttpContext.Request.QueryString;

然而 - 当表单发布HTML内容时会出现这种情况。

现在 - 我发布的InputModel上有AllowHtml,而且动作本身确实有ValidateInput(false)

我怀疑问题是我们尚未在管道中走得那么远

任何人都知道如何为此过滤器使用此功能?

1 个答案:

答案 0 :(得分:4)

AllowHtml仅适用于模型活页夹IIRC,而ValidateInput过早,因为尚不确定将执行哪个操作。几天前我正在解决这个问题,经过一些挖掘后,我在ValidationUtility找到了Microsoft.Web.Infrastructure.DynamicValidationHelper

Func<NameValueCollection> formGetter;
Func<NameValueCollection> queryStringGetter;

ValidationUtility.GetUnvalidatedCollections(HttpContext.Current, out formGetter, out queryStringGetter);

var form = formGetter();
var queryString = queryStringGetter()

它不是很漂亮,但它有效:)同时请注意,ValidationUtility在intellisense中是隐藏的。