Asp.net mvc ActionMethodSelectorAttribute+;AllowHtml
我有一个ActionMethodSelectorAttribute,其中有以下行:Asp.net mvc ActionMethodSelectorAttribute+;AllowHtml,asp.net-mvc,asp.net-mvc-3,filter,actionfilterattribute,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.QueryStrin
var req = controllerContext.RequestContext.HttpContext.Request.Form.AllKeys.Any() ? controllerContext.RequestContext.HttpContext.Request.Form : controllerContext.RequestContext.HttpContext.Request.QueryString;
但是,当表单发布HTML内容时,会出现这种情况
现在-我在发布的InputModel上有AllowHtml,并且操作本身有ValidateInput(false)
我怀疑问题在于我们还没有走到这一步
有人知道如何允许此筛选器使用此选项吗?
allowtml
仅适用于模型绑定器IIRC,而用于验证输入的时间太短,因为尚不确定将执行哪个操作。几天前我正在解决这个问题,经过一些挖掘,我在Microsoft.Web.Infrastructure.DynamicValidationHelper
中找到了ValidationUtility
:
Func<NameValueCollection> formGetter;
Func<NameValueCollection> queryStringGetter;
ValidationUtility.GetUnvalidatedCollections(HttpContext.Current, out formGetter, out queryStringGetter);
var form = formGetter();
var queryString = queryStringGetter()
Func formGetter;
Func queryStringGetter;
ValidationUtility.GetUnvalidatedCollections(HttpContext.Current、out-formGetter、out-queryStringGetter);
var form=formGetter();
var queryString=queryStringGetter()
它不是很漂亮,但很管用:)还要注意,ValidationUtility对intellisense是隐藏的。这就是为什么它如此出色的原因:D