【问题标题】:Multiline label in asp.netasp.net中的多行标签
【发布时间】:2015-07-01 17:20:42
【问题描述】:

我想使用多行标签,但由于控件依赖于浏览器,即使在设置标签控件的高度、宽度和换行属性时,我也无法显示多行文本它不以相同的方式支持每个浏览器.

【问题讨论】:

  • 你说的到底是什么控制?你是如何使用它的,你看到了什么,你期望什么?

标签: asp.net


【解决方案1】:

如果您的意思是 asp:Label,那么它会解析为 HTML 输出中的 span 元素。它既不是单行也不是多行。

为这个元素定义一些固定的宽度,当它足够长时,文本将换成几行。

<asp:Label runat="server" style="width:300px;">

【讨论】:

  • 建议使用CssClass代替inline
【解决方案2】:

您可以将asp:label 中的字符串与"&lt;br/&gt;" 连接起来,因为它会生成html。

例如:

label1.Text = strSample1 & "<br/>" & strSample2 

如果您不指定标签的宽度,它将自动扩展宽度以适合您的字符串。

【讨论】:

  • 按照你的例子,这对我有用:lblTest.Text = lblTest.Replace("\n", "&lt;br/&gt;");
【解决方案3】:

标签默认为单行。

但是,如果您想在文本框中显示多行,那么有一个选项可能会起作用。 我无法让自动换行工作,但如果您希望发生特定的换行符,那么

label.text = string1 + "<br/>" + string2 + "<br/>" + string3;

这可能看起来很简单,但 C# Environment.Newline 在 aspx 中不起作用。 只有渲染 &lt;br/&gt; 对我有用。

【讨论】:

    【解决方案4】:
    width ="...px"  style="word-wrap:normal; "
    

    如果你想打破最后一个字,如果它超过宽度,那么style="word-wrap:break-word; " 您可以使用 max-width:...px;如果您以编程方式更改宽度,请在样式标签上确保自动换行。

    【讨论】:

      【解决方案5】:

      您可以使用“maximunsize”和“autosize”标签属性来解决它,您的问题就解决了:

      <asp:Label runat="server" style="width:300px;" maximunsize="300px" autosize="true">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-20
        • 2016-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多