asp .net下拉列表修剪数据

时间:2009-12-16 02:23:30

标签: asp.net drop-down-menu

在asp.net下拉列表中,我需要修剪列表中的数据。例如,如果我的下拉列表中有10条记录,而我只想显示每条记录的前20个字符,那我该怎么做呢?此外,如果记录只有10个字符,那么从20个字符开始,下拉列表应自动调整为10个字符。任何想法?

2 个答案:

答案 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);
    }
}