在asp.net下拉列表中,我需要修剪列表中的数据。例如,如果我的下拉列表中有10条记录,而我只想显示每条记录的前20个字符,那我该怎么做呢?此外,如果记录只有10个字符,那么从20个字符开始,下拉列表应自动调整为10个字符。任何想法?
答案 0 :(得分:1)
如果您无法修剪源处的数据(即数据库查询或您从中获取数据的位置),则可以在下拉列表数据绑定后修改数据。
myDropDown.DataBind();
foreach (var item in myDropDown.Items)
{
if (item.Text.Length > 20)
{
item.Text = item.Text.Substring(0, 10);
}
}
答案 1 :(得分:0)
我不记得ASP.NET版本是否有Tag属性,但如果这样做会缩短文本并保留原始值(从womp复制原始版本):
myDropDown.DataBind();
foreach (var item in myDropDown.Items)
{
if (item.Text.Length > 20)
{
item.Tag = item.Text;
item.Text = item.Text.Substring(0, 10);
}
}
如果没有那么可能Attributes
(请原谅我,如果我的语法关闭,这里没有编译器验证):
myDropDown.DataBind();
foreach (var item in myDropDown.Items)
{
if (item.Text.Length > 20)
{
item.Attributes["title"] = item.Text;
item.Text = item.Text.Substring(0, 10);
}
}