5

我正在使用带有 .NET 4.0 的 ASP.NET MVC 3。我有一个模型,其中一个属性要求允许 HTML 内容。我已将该AllowHtml属性放在我的模型属性上,该属性允许在该属性上使用 HTML。这本身就有效。

我还在我网站的其他部分使用Uploadify flash 上传器。由于闪存和会话的问题,我正在使用一些类似于swfupload 示例中的代码的代码来允许我的文件上传访问会话数据。基本上我Request.Form直接在Application_BeginRequest处理程序中访问集合。

我遇到的问题是,当提出允许 HTML 的表单时,我会HttpRequestValidationException在处理程序中的代码Application_BeginRequest访问Request.Forms[key]集合时得到一个。

就像我一开始说的,我已经尝试过这个AllowHtml属性。我还尝试使用该ValidateInput(false)属性在操作和控制器级别禁用验证,但我相信我在请求生命周期中还为时过早,无法应用。无论如何,在Request.Form不禁用整个站点的请求验证的情况下,是否可以访问包含“潜在危险”数据的集合?

4

2 回答 2

6

您问这样的问题:在 ASP MVC 3 RC 和 .NET 4 中使用 Request.Unvalidated() 验证请求

Request.Unvalidated().Params[""]
于 2012-09-17T21:29:31.097 回答
0

为了记录,这样做的另一种方法是创建一个未经验证的对象:

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

然后你只需要访问unvalidatedRequest对象而不是重复点击Unvalidated()

Validation.Unvalidated方法有各种重载。

于 2016-11-03T17:21:29.950 回答