ASP.NET MVC2 в.NET 4.0: достаточно ли [ValidateInput(false)]?
Добрый день!
Я планирую обновить приложение ASP.NET MVC 2 до.NET 4.0, и у меня есть пара вопросов:
Имеет
[ValidateInput(false)]
на действие достаточно, чтобы принять HTML, или мне нужно установить<httpRuntime requestValidationMode="2.0"/>
как описано здесь: ASP.NET 4 критических измененийКак это будет работать, если я обновлю ASP.NET MVC до версии 3 (в дополнение к обновлению до.NET 4.0)?
Заранее спасибо!
1 ответ
Решение
- Вам нужно установить
<httpRuntime requestValidationMode="2.0"/>
а также в ASP.NET 4.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) { ... }