razor - razor core 中的多行文本显示
问题描述
我已经使用 textarea html 标签进行了多行输入,例如:
line 1
line 2 with <tags> and @ and <b> bold </b>
line 3
但是我以后如何显示呢?
如果我使用:
@Html.DisplayFor(m => m.MultilineText2)
它可以很好地处理特殊字符,但不能处理换行符
如果我使用:
@Html.Raw(Model.MultilineText2.Replace(Environment.NewLine, "<br/>"))
它处理换行符,但不处理特殊字符。
我只希望结果完全按照用户输入的方式显示(正如您在上面的示例中看到的那样)
解决方案
如果我理解正确,您想要的是对除换行符之外的所有其他内容进行编码。但你不需要关心这个。因为有一个标准的方式white-space
:
前线
空白序列被折叠。在换行符处、在 处
和根据需要填充行框时会换行。
因此,只需添加 a 即可white-space: pre-line
:
<span style="white-space: pre-line">@Html.DisplayFor(m => m.MultilineText2)</span>
生成的 html 将是:
<span style="white-space: pre-line">line 1
line 2 with <tags> and &#64; and <b> bold </b>
line 3</span>
推荐阅读
- c++ - 变量周围的二维数组堆栈已损坏
- delphi - 处理添加到 TStringList 的对象
- bash - 如何使用 shell bang 操作符来引用同一命令行上的前一个命令
- angular - 当一个指令位于Angular 6中的另一个指令内时,工作指令的生命周期顺序如何?
- arrays - TallComponents.PDF.Document 错误:“文档已损坏,重建失败”
- c# - 列表
.替换问题 - javascript - ReferenceError:事件未定义firebase函数
- java - 将对象插入嵌套数组
- c++ - AVL 树字符串插入错误(线程 1:EXC_BAD_ACCESS(代码=1,地址=0x28))
- java - Spring thymeleaf 在发布请求中给出错误