相关疑难解决方法(0)

ASP.NET MVC 3 ValidateRequest(false)不使用FormCollection

仅供参考我使用的是.NET 4.0/MVC 3.

在我的控制器中,以下是我的代码:

[HttpPost]
[ValidateInput(false)]
public ViewResult Edit(ContentTemplateView contentTemplateView, FormCollection collection)
Run Code Online (Sandbox Code Playgroud)

当我不输入HTML时,一切正常,所以我知道正在触发正确的控制器.另外,我在web.config文件中正确设置了以下内容:

<httpRuntime requestValidationMode="2.0"/>
Run Code Online (Sandbox Code Playgroud)

当我包含FormCollection(这个特定的控制器需要)时,我才会遇到这个问题.那我究竟做错了什么?

[我已经完成了以下问题的建议,只要没有FormCollection,它们就可以工作.他们都没有提供包含FormCollection的解决方案]

asp.net asp.net-mvc-3

18
推荐指数
2
解决办法
3万
查看次数

如何在MVC 3中的Request.Form集合中访问未经验证的项目

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

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

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

就像我在开始时所说的,我已经尝试了这个AllowHtml属性.我也尝试使用该ValidateInput(false)属性在动作和控制器级别禁用验证,但我相信我在请求生命周期中对于那些应用程序来说太早了.无论如何都要访问Request.Form包含"潜在危险"数据的集合而不禁用整个站点的请求验证?

c# asp.net-mvc httpwebrequest asp.net-mvc-3

5
推荐指数
1
解决办法
3550
查看次数

标签 统计

asp.net-mvc-3 ×2

asp.net ×1

asp.net-mvc ×1

c# ×1

httpwebrequest ×1