ASP.NET MVC2 в.NET 4.0: достаточно ли [ValidateInput(false)]?

Добрый день!

Я планирую обновить приложение ASP.NET MVC 2 до.NET 4.0, и у меня есть пара вопросов:

  1. Имеет [ValidateInput(false)] на действие достаточно, чтобы принять HTML, или мне нужно установить <httpRuntime requestValidationMode="2.0"/> как описано здесь: ASP.NET 4 критических изменений

  2. Как это будет работать, если я обновлю ASP.NET MVC до версии 3 (в дополнение к обновлению до.NET 4.0)?

Заранее спасибо!

1 ответ

Решение
  1. Вам нужно установить <httpRuntime requestValidationMode="2.0"/> а также в ASP.NET 4.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) { ... }
Другие вопросы по тегам