2011-07-23 62 views
2

我有一個ActionMethodSelectorAttribute,我有以下行:ActionMethodSelectorAttribute + AllowHtml

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

然而 - 這個噴出了當表單發佈HTML內容。

現在 - 我有AllowHtml對InputModel公佈和動作本身確實有ValidateInput(假)

我懷疑的問題是,我們還沒有得到那遠了管道尚未

任何人都知道如何讓這個過濾器?

回答

4

AllowHtml僅適用於模型綁定器IIRC和ValidateInput太快,因爲尚不能確定將執行哪個動作。我前幾天解決這個問題,一些挖後,我發現Microsoft.Web.Infrastructure.DynamicValidationHelperValidationUtility

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

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

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

這不是真的很漂亮,但它的工作原理:)還要注意的是ValidationUtility從智能感知隱藏。

+0

這就是爲什麼SO踢踢屁股:D – iwayneo

相關問題