В ASP.NET MVC 3 вы можете украсить свойство вашей модели, которая должна принимать эти входные данные, с атрибутом [AllowHtml]
. Таким образом, вы не обязаны отключать проверку входных данных для всего действия контроллера, которое ранее было выполнено путем украшения его атрибутом [ValidateInput]
. Итак, на вашей модели
public class MathematicsViewModel
{
public int Id { get; set; }
public string Name { get; set; }
[AllowHtml]
public string MathematicFormula { get; set; }
}
и затем действие вашего контроллера:
[HttpPost]
public ActionResult(MathematicsViewModel model)
{
// model.MathematicFormula will now accept input like $x<y>z$
...
}
И внутри вашего представления вы можете иметь текстовое поле с именем MathematicFormula
, в котором пользователь может вводить эти символы, и вы не получите исключения.
Также не забудьте установить в файле web.config следующее, иначе этот атрибут не будет действовать в .NET 4.0 (именно это использует ASP.NET MVC 3):
<httpRuntime requestValidationMode="2.0"/>