11

我的新社区页面中有 PrivateMessage-System。

我有一个用于私人消息文本的多行文本框。我将这个文本保存在一个字符串中,这个字符串保存在一个 ntext SQL 列中。我从字符串中的 ntext SQL-Coloum 读取此文本并将其显示在标签中。

当我在多行文本框中使用“Enter”键有 5 个换行符时,换行符将在标签中消失。

我不知道他们在哪里迷路了,我做错了什么。任何的想法?

4

3 回答 3

25

首先,它实际上是否将换行符保存到您的表格中?如果是这样,它将它们保存为什么,例如 \r\n 或 CRLF 或什么?

您的标签输出 html,因此唯一会创建中断的是<br />标签。因此,您需要查找并替换数据库中保存的任何内容:

Label1.Text = someDatabaseText.Replace("\r\n", "<br />");

或者更好的是,在将其保存到数据库之前执行 .Replace() :

someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />");
于 2011-02-03T07:59:26.377 回答
4

你可以用 CSS 解决这个问题。将此 CSS 分配给您的标签:

空白:预包装;

于 2016-12-16T10:17:56.083 回答
2

这也有效:

lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />")
于 2013-06-20T08:04:50.257 回答