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