asp.net dropdownlist修剪数据

asp.net dropdownlist修剪数据,asp.net,drop-down-menu,Asp.net,Drop Down Menu,在asp.net下拉列表中,我需要修剪列表中的数据。e、 g如果我的下拉列表中有10条记录,我只想显示每条记录的前20个字符,那么我该怎么做?。此外,如果记录仅为10个字符,则dropdownlist将从20个字符自动调整为10个字符。有什么想法吗?如果您无法在源位置(即数据库查询或从何处获取数据)修剪数据,那么您可以在下拉列表数据绑定后修改数据 myDropDown.DataBind(); foreach (var item in myDropDown.Items) { if (it

在asp.net下拉列表中,我需要修剪列表中的数据。e、 g如果我的下拉列表中有10条记录,我只想显示每条记录的前20个字符,那么我该怎么做?。此外,如果记录仅为10个字符,则dropdownlist将从20个字符自动调整为10个字符。有什么想法吗?

如果您无法在源位置(即数据库查询或从何处获取数据)修剪数据,那么您可以在下拉列表数据绑定后修改数据

myDropDown.DataBind();

foreach (var item in myDropDown.Items)
{
    if (item.Text.Length > 20)
    {
       item.Text = item.Text.Substring(0, 10);
    }
}

我记不起ASP.NET版本是否具有标记属性,但如果它具有标记属性,则会缩短文本并保留原始值(从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);
    }
}
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);
    }
}