问题描述
我想在文本框中用新行显示数据。我将注释保存在DB中,然后在UI上显示数据。
下面是.aspx代码:-
<asp:TextBox ID="comment" TextMode="MultiLine" runat="server"
Rows="5" Columns="100" CssClass="multiline-text"></asp:TextBox>
This is test Comment./r/n Please do some reply on this.
This is test Comment./r/n Please do some reply on this.
然后我更新了数据库注释:-
This is test Comment.<br /> Please do some reply on this.
This is test Comment.<br /> Please do some reply on this.
我可以在asp .net文件或DB中进行哪些更改,以便在文本框中以新行显示数据。
解决方法
这里有几件事要提到:
- 您实际上使用的是错误的escape sequences,应该是
env
(反斜杠而不是斜杠) - 如果您从其他地方(例如数据库)获得此数据,则可能会正确转义
考虑在调试时检查字符串,以验证源代码到底是什么 - 验证文本后,可以用正确的转义字符替换必要的字符:
假设这是作为文本在变量\r\n
中出现的:myText
那么您可以想到This is test Comment.\r\n Please do some reply on this.
您可以执行以下操作:
This is test Comment.\\r\\n Please do some reply on this.
,
您可以使用 Wrap 属性,该属性显示带有多行属性的ASP.Net TextBox,以在到达末尾时自动在下一行继续。
<asp:TextBox ID="comment" TextMode="MultiLine" runat="server" Wrap="true" Rows="5" Columns="100" CssClass="multiline-text"></asp:TextBox>
此外,您可以在CSS类中添加此行,以确保正确的行在<br>
处中断并保留空白。
word-wrap: break-word;