我想在显示到网页之前格式化内容。我存储'\ 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
但是,它以单行显示了我的一切。
答案 0 :(得分:2)
您需要使用
.Replace("\r\n", "<br/>")
仅 AFTER Server.HtmlEncode,因为您不希望<br/>
本身被编码为<br/>
(原始),显示为<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>");