【发布时间】:2011-01-22 21:14:00
【问题描述】:
我从数据库中获取数据并在标签上显示该数据。我必须在每 35 个字符的标签文本上应用新行。因为在 35 个字符之后,文本会溢出。
你能告诉我怎么做吗?
【问题讨论】:
-
@spender - 我假设是 ASP.NET 标签控件
-
是的,它是asp.net标签控件
我从数据库中获取数据并在标签上显示该数据。我必须在每 35 个字符的标签文本上应用新行。因为在 35 个字符之后,文本会溢出。
你能告诉我怎么做吗?
【问题讨论】:
use Environment.NewLine
【讨论】:
没有办法做到这一点,你最好创建更多的标签。您可以添加<br/>,但asp.net 会筛选它。考虑将单个标签放入固定宽度的 div 中,文本应自动换行。
【讨论】:
只需改变标签的样式,让它包裹文本:
style=" width:50px; overflow-y:auto;overflow-x:auto; word-break:break-all;"
更好的是,把它放在你的 CSS 文件中,而不是直接放在控件上。
如果您不喜欢,另一种选择是使用文本框并将其设置为标签,如this 帖子中所述。
【讨论】:
//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)
}
【讨论】:
快速伪代码
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不起作用,用
替换它
【讨论】:
在属性窗口中,您可以更改标签的宽度和高度。您应该根据窗口大小设置标签大小,标签类型的大小必须是像素。
【讨论】: