【问题标题】:ASP.NET MVC2 on .NET 4.0: is [ValidateInput(false)] enough?.NET 4.0 上的 ASP.NET MVC2:[ValidateInput(false)] 是否足够?
【发布时间】:2011-06-13 15:16:08
【问题描述】:
美好的一天!
我计划将我的 ASP.NET MVC 2 应用程序升级到 .NET 4.0,但有几个问题:
[ValidateInput(false)] 的操作足以接受 HTML,或者我需要设置 <httpRuntime requestValidationMode="2.0"/>,如下所述:ASP.NET 4 Breaking Changes
如果我将 ASP.NET MVC 升级到版本 3(除了升级到 .NET 4.0),它将如何工作?
提前致谢!
【问题讨论】:
标签:
asp.net
asp.net-mvc-2
asp.net-mvc-3
request-validation
【解决方案1】:
- 您还需要在 ASP.NET 4.0 中设置
<httpRuntime requestValidationMode="2.0"/>。
-
与 ASP.NET MVC 2 (.NET 4.0) 中的相同,但此外,您可以使用 [AllowHtml] 属性进行更细粒度的控制,该属性可以放置在视图模型的单个属性上,而不是禁用对整个请求:
public class MyViewModel
{
[AllowHtml]
public string SomeHtmlProperty { get; set; }
public string SomeOtherProperty { get; set; }
}
并且有一个这样的控制器动作:
[HttpPost]
public ActionResult Update(MyViewModel model) { ... }