使用<pre> tag, text goes outside parent <asp:label> border</asp:label></pre>时

时间:2009-10-15 10:27:34

标签: asp.net html css

我有一个奇怪的问题,

我有一个datarepeater,可以从数据库中读取一些用户条目,然后在<asp:label>中显示它们。

我的第一个问题是,当阅读文本时,所有\n都被删除了..

所以我使用<pre>标签来解决问题。 然而......发生了一个新问题.. 现在文本实际上超出了标签的边界..

<td width="630px" >
 <pre>
   <asp:Label ID="lblComments"  runat="Server" 
       width="630px" Text='<%#DataBinder.Eval(Container.DataItem, "Comments") %>'
       Style="font-size: larger">
   </asp:Label>
  </pre>
</td>

3 个答案:

答案 0 :(得分:6)

是的,pre只会输出文本而几乎不考虑页面的布局。

您应该格式化数据库中的文本以将\ n转换为<br/> s。

你应该能够逃脱:

<%# DataBinder.Eval(Container.DataItem, "Comments")
                   .ToString().Replace("\n", "<br />") %>

答案 1 :(得分:4)

&LT;预&GT;表示预先格式化,因此不会在文本中添加其他换行符。

您必须缩短预先格式化文本中的行长度。

答案 2 :(得分:1)

使用css属性“pre {white-space: normal;}” 这有用吗?