多行标签在asp.net中的应用

11

我想使用多行标签,但是由于该控件取决于浏览器,即使设置了标签控件的高度、宽度和换行属性,我仍然无法显示多行文本。这在不同浏览器中的支持有所不同。


你在准确地谈论哪个控件?你是如何使用它的,看到了什么,期望得到了什么? - Hans Kesting
5个回答

14
如果您指的是asp:Label,那么它会在HTML输出中解析为一个span元素。它既不是单行也不是多行。
为该元素定义一些固定宽度,当文本足够长时,它将自动换行成几行。
<asp:Label runat="server" style="width:300px;">

1
建议使用 CssClass 而不是内联。 - SearchForKnowledge

14
你可以使用asp:label中的"<br/>"来连接字符串,因为这样会生成HTML代码。
例如:
label1.Text = strSample1 & "<br/>" & strSample2 

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


按照您的示例,这段代码对我也起作用了: lblTest.Text = lblTest.Replace("\n", "<br/>"); - DJ van Wyk

4

默认情况下,标签只有单行文本。

但如果您想在文本框中显示多行文本,那么有一种选项可能适用。 我无法让自动换行起作用,但是如果您想要特定的换行,则可以尝试以下方法:

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

看起来很简单,但是在aspx中,C#的Environment.Newline并不能正常工作。只有渲染<br/>才能达到预期效果。


1
width ="...px"  style="word-wrap:normal; "

如果您想在单词宽度超过限制时进行换行,则可以使用style="word-wrap:break-word; "。为确保单词换行,在样式标签中使用max-width:...px;当您以编程方式更改宽度时。

0
你可以通过使用“maximunsize”和“autosize”标签属性来解决它,这样你的问题就解决了:
<asp:Label runat="server" style="width:300px;" maximunsize="300px" autosize="true">

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接