【问题标题】: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,但有几个问题:

  1. [ValidateInput(false)] 的操作足以接受 HTML,或者我需要设置 <httpRuntime requestValidationMode="2.0"/>,如下所述:ASP.NET 4 Breaking Changes

  2. 如果我将 ASP.NET MVC 升级到版本 3(除了升级到 .NET 4.0),它将如何工作?

提前致谢!

【问题讨论】:

    标签: asp.net asp.net-mvc-2 asp.net-mvc-3 request-validation


    【解决方案1】:
    1. 您还需要在 ASP.NET 4.0 中设置<httpRuntime requestValidationMode="2.0"/>
    2. 与 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) { ... }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多