.NET 4.0 上的 ASP.NET MVC2 : is [ValidateInput(false)] enough?

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

美好的一天!

我计划将 ASP.NET MVC 2 应用程序升级到 .NET 4.0,有几个问题:

  1. [ValidateInput(false)] Action 足以接受 HTML,否则我需要设置 <httpRuntime requestValidationMode="2.0"/>如此处所述:ASP.NET 4 Breaking Changes

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

提前致谢!

最佳答案

  1. 您需要设置<httpRuntime requestValidationMode="2.0"/> ASP.NET 4.0 中也是如此。
  2. 与 ASP.NET MVC 2 (.NET 4.0) 中的相同,但此外您还可以使用 [AllowHtml] 进行更细粒度的控制。属性可以放置在 View 模型的单个属性上,而不是禁用整个请求的验证:

    public class MyViewModel
    {
        [AllowHtml]
        public string SomeHtmlProperty { get; set; }
    
        public string SomeOtherProperty { get; set; }
    }
    

并有一个像这样的 Controller 操作:

[HttpPost]
public ActionResult Update(MyViewModel model) { ... }

关于.NET 4.0 上的 ASP.NET MVC2 : is [ValidateInput(false)] enough?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4767404/

相关文章:

javascript - 如何从客户端调用服务器端按钮单击功能?

c# - 使用 jQuery 在 ASP.NET 中进行 AJAX 回调

c# - HttpApplicationState 在 MVC Controller 中不可用

javascript - ASP.NET MVC如何理解相关技术,javascript、html、css

asp.net-mvc - ASP.net MVC3 中 ViewBag 元素的生命周期

asp.net-mvc - 禁用客户端缓存

asp.net - 如果文件已存在,jQuery 拦截并阻止表单提交

c# - MVC 4 : View is not rendered with the correct data from a List<> in the Model

c# - 分页无法正常工作

c# - 如何在迭代器中使用 Html.DisplayFor?