4

我想在显示到网页之前格式化内容。我将 '\r\n\' 作为输入存储在数据库中,并尝试在网页上显示内容之前替换它。服务器端我的代码是:

lblComments.Text = Server.HtmlEncode(((DataRowView)e.Item.DataItem).Row["Comment"].ToString().Replace("\r\n", "<br>"));

我有用Server.HtmlEncode

我的输出应该是:

Comment Type: Public
Comment: Commented on the Data by user A

但是,它向我展示了单行中的所有内容。

4

3 回答 3

2

你需要使用

.Replace("\r\n", "<br/>")

并且仅在Server.HtmlEncode之后,因为您不希望<br/>自身被编码为&lt;br/&gt;(原始),按<br/>字面意思显示。

于 2012-10-09T08:54:32.707 回答
0

您可以将输出包装在一个<pre>...</pre>元素中,而不是用<br>. 这样,应该保留换行符。

例如,<pre>在您的标签周围放置一个元素:

<pre><asp:Label id="lblComments" runat="server" /></pre>
于 2012-10-09T08:56:03.820 回答
0

尝试

Replace("\n", "<br>")

该测试在没有编码的情况下工作

string comments = @"Comment Type: Public
Comment: Commented on the Data by user A";
lblComments.Text = comments.Replace("\n","<br>");
于 2012-10-09T09:05:23.773 回答