我的新社区页面中有PrivateMessage-System。
我有一个私人消息文本的多行文本框。 我将这个文本保存在一个字符串中,这个字符串在一个ntext SQL-Coloumn中。 我从字符串中的ntext SQL-Coloum中读取此文本并将其显示在标签中。
当我在多行文本框中使用“Enter”-Key进行5次换行时,换行符将在标签中消失。
我不知道他们在哪里迷路了,我做错了什么。 任何想法?
答案 0 :(得分:23)
首先,它实际上是否将换行符保存到您的表中?如果是这样,它将它们保存为什么,例如\ r \ n或CRLF或什么?
您的标签输出html,因此唯一可以创建中断的是<br />
标记。因此,您需要查找并替换数据库中保存的内容:
Label1.Text = someDatabaseText.Replace("\r\n", "<br />");
或者甚至更好,在将它保存到数据库之前执行.Replace():
someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />");
答案 1 :(得分:3)
您可以使用CSS解决此问题。将此CSS分配给您的标签:
white-space:pre-wrap;
答案 2 :(得分:2)
这也有效:
lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />")