我需要动态地将大文本数据绑定到标签。我将从数据源获取一些大型文本数据,并将其绑定到lable。那么如何在标签中显示多行文字。
答案 0 :(得分:6)
最简单的只是
string value = "one\r\ntwo\r\nthree";
label.Text = value.Replace(Environment.NewLine, "<br/>");
但是如果你有一个字符串列表,你可以尝试转发器方法
<asp:Label ID="label" runat="server">
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<%# Container.DataItem %> <br />
</ItemTemplate>
</asp:Repeater>
</asp:Label>
代码
List<string> listOfStrings = new List<string>()
{
"One", "Two", "Three"
};
repeater.DataSource = listOfStrings;
repeater.DataBind();
答案 1 :(得分:3)
在你的情况下,使用literal更好,因为你在代码中用文字编写html,如下所示:
Literal1.Text = "Hello<br/>"+"How are you?"....
或者你可以使用文本框作为设置属性TextMode = Multiline和readonly = True表现为标签
答案 2 :(得分:1)
你可以尝试这个
Label.AutoSize = false
答案 3 :(得分:0)
我不知道你会用什么“单位”衡量文字长度。但是将<br />
添加到ur_string
会开始换行。
<强> EDITED 强>
这对所有asp.net
控件无效。只有asp.net label
呈现为html span
,因此标签<br />
会产生预期效果。