У меня есть страница ASP.Net MVC 3, в которой у меня есть элемент управления Html.TextAreaFor, см. код ниже. Если я попытаюсь отправить страницу в сообщение http post с текстом в угловых скобках, например: <test>
, я получаю желтый экран с сообщением:
Потенциально опасное значение Request.Form было обнаружено из client (RequestText = "").
Я не понимаю, почему я получаю это, потому что нашел статью Скотта Гатри, в которой говорится, что новый синтаксис <%: %>
в .Net 4 будет автоматически HtmlEncode элемент. Поскольку я использую синтаксис <%:% > для элемента управления Html.TextAreaFor, я думал, что он автоматически позаботится об этом и преобразует угловые скобки в надлежащее "& lt"; и "& gt".
<% using (Html.BeginForm())
{ %>
<%: Html.ValidationSummary() %>
<h2>Enter a description of the support needed</h2>
<%: Html.TextAreaFor( m => m.RequestText, 4, 90, null) %>
<input type="submit" value="Submit" />
<% } %>