ActionMethodSelectorAttribute + AllowHtml - PullRequest
2 голосов
/ 23 июля 2011

У меня есть атрибут ActionMethodSelectorAttribute, в котором у меня есть следующая строка:

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

Тем не менее - это извергается, когда форма публикует содержимое HTML.

Теперь - у меня есть AllowHtml наотправляемая InputModel и само действие имеет ValidateInput (false)

Я подозреваю, что проблема заключается в том, что мы еще не достигли этого уровня,

кто-нибудь знает, как разрешить это дляэтот фильтр?

1 Ответ

4 голосов
/ 23 июля 2011

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...