2010-03-02 121 views
2

我從數據庫中獲取數據並在標籤上顯示該數據。每35位文字記者,我必須在標籤的文字上添加新行。因爲在35個構造者之後,文本溢出。向標籤添加新行

你能讓我知道如何做到這一點。

+0

「標籤」?哪個標籤? – spender 2010-03-02 19:18:22

+0

@spender - 我假設ASP.NET標籤控制 – CodeMonkey1313 2010-03-02 19:21:33

+0

是的是它是asp.net標籤控制 – xrx215 2010-03-02 19:29:55

回答

4

只是改變標籤的樣式,以便它會自動換行:

style=" width:50px; overflow-y:auto;overflow-x:auto; word-break:break-all;" 

更重要的是,把這個在你的CSS文件,而不是直接控制。

另一種選擇是,如果您不喜歡這種方式,則使用文本框並將其設置爲標籤樣式,如this後所述。

+0

使用文本框就像標籤的作品。謝謝。 – xrx215 2010-03-02 20:17:13

+0

我在CSS 2.0和2.1中有驗證錯誤。是「word break」CSS 3.0嗎? – Slauma 2010-04-25 14:38:07

+1

@Slauma - 是的,它是CSS 3.0。 – Oded 2010-04-25 15:18:29

-1
use Environment.NewLine 
+1

瀏覽器將忽略它,它是html「 – Andrey 2010-03-02 19:20:18

1

有沒有辦法做到這一點,你最好創造更多的標籤。你可以添加<br/>,但asp.net會對它進行篩選。考慮在固定寬度的div內放入單個標籤,文本應自動到新行。

+0

」將單個標籤放在固定寬度的div內。簡單。 – Shinigamae 2013-03-21 01:05:50

0
//assuming l is a label 
for (int i = 0; i < l.Text.Length; i++) 
{ 
    if (i % 35 == 0) 
    l.Text.Insert(i, Environment.NewLine) // or use "<br />" for html break since browsers ignore whitespace (except IE 6 in some cases) 
} 
1

快速僞碼

string s = 'value from db'; 
string s2 = ""; 
int len = s.Length; 
int i = 0; 
while (i + 35 > len) { 
    s2 += s.Substring(i, 35) + "\r\n"; 
    i+=35; 
} 
s2 += s.Substring(i, len - i); 
label.Text = s2; 

如果\ r \ n不工作,具有< BR>

0

上,您可以更改標籤的寬度和高度屬性窗口替換它。您應該根據窗口的大小和標籤類型的大小必須設置標籤大小像素。

+0

對不起,我忘記說你可以在屬性窗口和Maximumsize子標題上找到寬度和高度。 – emre 2013-08-20 07:14:47

+0

它實際上做了什麼?它改變標籤的樣式。這是通過CSS完成的。這是一個好習慣嗎?沒有。爲什麼??因爲它使得樣式嵌入到你的ascx中 – Saksham 2013-08-20 07:30:13