在标签上添加新行

我从数据库中获取数据并在标签上显示该数据。 我必须在每35个字符的标签文本上应用新行。 因为在35个字符之后文本溢出。

你能告诉我怎么做吗?

只需更改标签的样式,即可将文本换行:

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

更好的是,将它放在CSS文件中,而不是直接放在控件上。

如果您不喜欢这个,另一个选项是使用文本框并将其设置为标签样式,如本文所述。

没有办法做到这一点,你最好创建更多的标签。 你可以添加
,但asp.net会筛选它。 考虑将单个标签放在具有固定宽度的div中,文本应自动转到新行。

快速伪代码

 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不起作用,请将其替换为

 //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 "
" for html break since browsers ignore whitespace (except IE 6 in some cases) }

在“属性”窗口中,您可以更改标签的宽度和高度。 您应该根据窗口的大小设置标签大小,标签类型的大小必须是像素。

 use Environment.NewLine