Html.Encode
, кажется, просто вызывает HttpUtility.HtmlEncode
, чтобы заменить несколько конкретных символов html на их escape-последовательности.
Однако это не дает никакого представления о том, как интерпретировать новые строки и несколько пробелов (разметка пробелов). Поэтому я предоставляю текстовую область для ввода пользователем простого текстового блока информации, а затем позже отображают эти данные на другом экране (используя Html.Encode
), новые строки и интервалы не сохраняются.
Я думаю, что есть 2 варианта, но, возможно, есть лучший третий, кто может предложить.
Один из вариантов заключается в том, чтобы просто написать статический метод, который использует HtmlEncode, а затем заменяет новые строки в результирующей строке <br>
и группами из нескольких пробелов с
Другим вариантом было бы связать себя с атрибутом white-space: pre
в моих таблицах стилей - однако я не уверен, что это вызовет побочные эффекты, когда методы html helper включают новые строки и табуляцию, чтобы сделать источник страницы довольно.
Есть ли третий вариант, например глобальный флаг, переопределение событий или методов, которое я могу использовать для изменения способа кодирования html без необходимости повторного использования html-помощников?