首页 > 解决方案 > 灰显某些项目 C#

问题描述

我想禁用ItemList. 我尝试了以下代码的变体,但似乎没有任何效果。我希望让残疾人Items留在 中list,但要灰掉。我在这个主题上似乎有类似的帖子,但似乎没有任何效果。

List<SelectListItem> selectitem = new List<SelectListItem>();

selectitem.Add(new SelectListItem { Text = "Select", Value = "-1", Disabled = false });

while (reader.Read())
{
string displayText = "TextTest";
string displayValue = "ValueTest";

selectitem.Add(new SelectListItem { Text = displayText, Value = displayValue, Disabled = true });
}

EstimateDropDownList.DataSource = selectitem;
EstimateDropDownList.DataTextField = "Text";
EstimateDropDownList.DataValueField = "Value";
EstimateDropDownList.DataBind();

...

  internal class SelectListItem
    {
        public string Text { get; set; }
        public string Value { get; set; }
        public bool Disabled { get; set; }
    }

...

<asp:DropDownList ID="EstimateDropDownList" runat="server" Width="200px" Height="27px"
    AutoPostBack="true" OnSelectedIndexChanged="EstimateDropDownList_SelectedIndexChanged">
</asp:DropDownList>

我也试过这个,但这也不起作用。

EstimateDropDownList.DataSource = selectitem;

foreach (ListItem item in EstimateDropDownList.Items)
   {
     if (true)
      {
          item.Attributes.Add("disabled", "disabled");
      }
   }

EstimateDropDownList.DataTextField = "Text";
EstimateDropDownList.DataValueField = "Value";
EstimateDropDownList.DataBind();

标签: c#asp.netdropdownlistfordisable

解决方案


下拉菜单是带有“选项”元素的“选择”控件。在大多数浏览器中,您只能禁用(或着色)控件本身,而不是特定的“选项”。在过去,这有点不同。如果你确实想这样做,有许多现成的 JS Dropdown 控件甚至引导程序可以很好地做到这一点。


推荐阅读