Html.Encode
似乎只是调用HttpUtility.HtmlEncode
以用它们的转义序列替换一些 html 特定字符。
但是,这并没有考虑如何解释新行和多个空格(标记空白)。所以我为用户提供了一个文本区域来输入纯文本信息块,然后在另一个屏幕上显示该数据(使用Html.Encode
),新的行和间距将不会被保留。
我认为有 2 个选项,但也许有人可以提出更好的第 3 个选项。
一种选择是只编写一个使用 HtmlEncode 的静态方法,然后将结果字符串中的新行替换<br>
为多个空格组
另一种选择是弄乱white-space: pre
我的样式表中的属性 - 但是我不确定当 Html 帮助器方法包括新行和制表符以使页面源漂亮时这是否会产生副作用。
是否有第三个选项,例如全局标志、事件或方法覆盖,我可以使用它来更改 html 编码的完成方式,而无需重做 html 辅助方法?