将多行文本绑定到标签

时间:2011-07-14 11:02:30

标签: c# .net asp.net

我需要动态地将大文本数据绑定到标签。我将从数据源获取一些大型文本数据,并将其绑定到lable。那么如何在标签中显示多行文字。

4 个答案:

答案 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 />会产生预期效果。