C# 将多行文本绑定到标签

C# 将多行文本绑定到标签,c#,.net,asp.net,C#,.net,Asp.net,我需要将大型文本数据动态绑定到标签。我将从数据源获取一些大型文本数据,并将其绑定到标签。因此,如何在标签中显示多行文字。我不知道用什么“单位”来测量文字长度。但是,将添加到ur\u字符串将开始一个新行 已编辑 这对所有asp.net控件无效。只需asp.net label呈现为html span,因此对于label将有理想的效果。在您的情况下,使用literal更好,因为您从代码中以literal编写html,如下所示: Literal1.Text = "Hello<br/>"+"H

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

我不知道用什么“单位”来测量文字长度。但是,将

添加到
ur\u字符串将开始一个新行

已编辑


这对所有
asp.net
控件无效。只需
asp.net label
呈现为
html span
,因此对于label

将有理想的效果。

在您的情况下,使用literal更好,因为您从代码中以literal编写html,如下所示:

Literal1.Text = "Hello<br/>"+"How are you?"....
Literal1.Text=“你好”+“你好吗?”。。。。
或者,您可以将文本框用作设置属性TextMode=Multiline和readonly=True,以用作标签

string value = "one\r\ntwo\r\nthree";

label.Text = value.Replace(Environment.NewLine, "<br/>");
string value=“一个\r\n两个\r\n树”;
label.Text=value.Replace(Environment.NewLine,“
”);
但是如果你有一个字符串列表,你可以尝试一种重复的方法

<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();
List listOfStrings=new List()
{
“一”、“二”、“三”
};
repeater.DataSource=listOfStrings;
repeater.DataBind();

您可以试试这个

Label.AutoSize = false

你能解释一下什么是
ur_字符串
,单位之间有什么区别吗?@Martinho Fernandes
ur_字符串
只是一个变量。不同的“单位”我的意思是不同的字体大小会给出不同的文本长度。所以“单位”取决于OP。