首页 > 解决方案 > 禁用 asp.net 下拉列表特定项目

问题描述

我有一个下拉列表,其中有几个项目绑定在后面的代码中。我从下面的查询中填充下拉列表。

Select ID, Name, IsGroup from TempTable

我设置 DataTextField = "Name" 和 DataValueField = "ID"

现在我想根据 DataBound 事件中的“IsGroup”值禁用一些项目。我如何访问此“IsGroup”列。

For Each item As ListItem In dd.Items
      If (What i will compare here = "N") Then
           item.Attributes.Add("disabled", "disabled")
      End If
Next

问候

标签: asp.net

解决方案


    protected void Page_Load(object sender, EventArgs e)
    {
        var data = GetData();

        List<ListItem> items = new List<ListItem>();
        foreach (DataRow row in data.Rows)
        {
            var item = new ListItem()
            {
                Value = row["Id"].ToString(),
                Text = row["Name"].ToString()
            };
            if (row["IsGroup"].ToString() != "N")
            {
                item.Attributes.Add("disabled", "disabled");
            }

            items.Add(item);
        }
        this.DropDownList1.Items.AddRange(items.ToArray());
    }

参考:使下拉列表项不可选择


推荐阅读