如何在网页中打破界限?

时间:2012-10-09 08:52:24

标签: asp.net sql-server

我想在显示到网页之前格式化内容。我存储'\ 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

但是,它以单行显示了我的一切。

3 个答案:

答案 0 :(得分:2)

您需要使用

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

AFTER Server.HtmlEncode,因为您不希望<br/>本身被编码为&lt;br/&gt;(原始),显示为<br/>字面上。

答案 1 :(得分:0)

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

E.g。在您的标签周围添加<pre>元素:

<pre><asp:Label id="lblComments" runat="server" /></pre>

答案 2 :(得分:0)

尝试

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

此测试无需编码

string comments = @"Comment Type: Public
Comment: Commented on the Data by user A";
lblComments.Text = comments.Replace("\n","<br>");