Я заметил наиболее досадную (возможную) ошибку в ASP.NET MVC TextAreaFor HTML helper.По какой-то причине помощник HTML добавляет NewLine перед любым содержимым в текстовой области.По-видимому, это делается для того, чтобы бороться с возможной проблемой контента отдельного человека, начинающегося с новой строки, и браузер игнорирует его согласно спецификации.
Однако, добавив его, я получаю НАМНОГО более раздражающую ошибку,теперь во всех моих текстовых областях автоматически добавляется дополнительная строка перед любым содержимым при загрузке формы (т.е. это отображается перед любым содержимым в моем поле:).Может показаться, что что-то кодирует «новую строку», прежде чем выплевывать.
У кого-нибудь есть обходной путь для этого?Я ожидаю, что предполагаемое поведение - распечатать
<textarea>
Stuff</textarea>
, а не
<textarea> Stuff</textarea>
Я получаю ...
Редактировать При дальнейшей проверке выясняется, что это связано с тем, что я использовал AntiXssLibrary для кодирования вместо стандартного HtmlEncoder.Я использую версию 4.0, и мой метод класса кодировщика выглядит следующим образом:
protected override void HtmlEncode(string value, TextWriter output)
{
output.Write(Microsoft.Security.Application.Encoder.HtmlEncode(value));
}
Итак, моя МНЕНИЕ заключается в том, что, поскольку класс TagBuilder, который вызывается из TextAreaHelper, HTML кодирует содержимое тега, онпринимает на себя поведение HTML-кодировщика по умолчанию, но AntiXssLibrary более тщательно, и, таким образом, вы видите это поведение?