我有一个奇怪的问题,
我有一个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>
答案 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;}
”
这有用吗?