2010-09-15 95 views
9

我想使用多行標籤,但由於控件依賴於瀏覽器,即使設置標籤控件的高度,寬度和包裝屬性,我也無法顯示多行文本它不支持每個瀏覽器都以同樣的方式。asp.net中的多行標籤

+0

你說的是什麼控件?你如何使用它,你看到了什麼,你期望什麼? – 2010-09-15 11:40:41

回答

12

如果您的意思是asp:Label那麼它將解析爲HTML輸出中的span元素。它既不是單行的也不是多行的。

爲這個元素定義一些固定的寬度,當它足夠長時,文本將被包裝成幾行。

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

不適合我。 – etlds 2014-06-27 15:27:17

+0

建議使用'CssClass'而不是內聯 – SearchForKnowledge 2015-01-21 17:04:54

3

默認情況下標籤爲單行。

但是,如果你想在文本框中顯示多行,那麼有一個選項可能工作。 我不能讓autowrap工作,但如果你想具體換行符發生,那麼

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

它可能看起來簡單,但C#Environment.Newline沒有在ASPX工作。 只渲染<br/>爲我工作。

10

您可以連接asp:label中的字符串與"<br/>",因爲它會導致html。

例如:

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

如果你標籤的不特定的寬度,它會自動展開寬度以適應您的字符串。

+0

以下示例適用於我: 'lblTest.Text = lblTest.Replace(「\ n」,「
」);'' – 2014-06-10 15:23:18

0

你可以用「maximunsize」和「自動調整」的標籤性能解決它,你的問題就解決了:

<asp:Label runat="server" style="width:300px;" maximunsize="300px" autosize="true"> 
1
width ="...px" style="word-wrap:normal; " 

如果你想如果超過寬度則style="word-wrap:break-word; " 你可以打破硬道理使用最大寬度:... px;如果你改變寬度programmaticaly,確保文字包裝的樣式標籤。