ASP.NET MVC2 в .NET 4.0: достаточно ли [ValidateInput (false)]? - PullRequest
2 голосов
/ 22 января 2011

Добрый день!

Я планирую обновить приложение 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 Ответ

5 голосов
/ 22 января 2011
  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) { ... }
...