How can I access unvalidated items in the Request.Form collection in MVC 3

依然范特西╮ 提交于 2020-02-03 07:50:06

问题


I am using ASP.NET MVC 3 with .NET 4.0. I have a model on which one of the properties requires that HTML content be allowed. I have placed the AllowHtml attribute on my model property which allows HTML on that property. That works by itself.

I am also using the Uploadify flash uploader on other parts of my website. Due to problems with flash and sessions, I'm using some code similar to the code in a swfupload example to allow my file upload access to session data. Basically I'm accessing the Request.Form collection directly in the Application_BeginRequest handler.

The problem I'm running into is that when the form that allows HTML is posed I get a HttpRequestValidationException when the code in the Application_BeginRequest handler access the Request.Forms[key] collection.

Like I said in the beginning, I've tried the AllowHtml attribute. I've also tried disabling validation at the action and controller level using the ValidateInput(false) attribute, but I believe I'm too early in the request life cycle for those to apply. Is there anyway to access the Request.Form collection containing "potentially dangerous" data without disabling request validation for the entire site?


回答1:


You asking about something like this: Validate request with Request.Unvalidated() in ASP MVC 3 RC and .NET 4 ?

Request.Unvalidated().Params[""]



回答2:


For the record, another way of doing this is by creating an unvalidated object:

var unvalidatedRequest = System.Web.Helpers.Validation.Unvalidated(Request);

Then you only have to access the unvalidatedRequest object rather than repeatedly hitting Unvalidated().

The Validation.Unvalidated method has various overloads.



来源:https://stackoverflow.com/questions/12467249/how-can-i-access-unvalidated-items-in-the-request-form-collection-in-mvc-3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!