2012-02-07 61 views
3

我有一个dropdownlist在aspx中调用ddlServiceASP.Net Dropdownlist ListItem(Enabled = false)不在页面中显示

我想从后面添加listitems。

当我加入,我会在标题和项目的顺序下,如创建他们..

Title1 
Item1 
Item2 
Title2 
Item1 
Item2 

标题不应该是能够点击。只有项目应该能够点击。

ListItem tempServicesItem = new ListItem(); 
tempServicesItem.Text = tempTitle; 
tempServicesItem.Value = tempTitle; 
tempServicesItem.Enabled = false;  
ddlServices.Items.Add(tempServicesItem); 
tempServicesItem = new ListItem(); 
tempServicesItem.Text = tempItem; 
tempServicesItem.Value = tempItem;               
ddlServices.Items.Add(tempServicesItem); 

我遇到的问题是ListItems与(Enabled=false)都没有出现在ASPX。

当我将其更改为(Enabled=true)时,它正在出现。

我一定错过了一些东西。任何人都可以指出吗?

谢谢。

回答

6

我相信这是你在找什么“已禁用”属性。 (未测试)

tempServicesItem.Attributes.Add("disabled", "disabled"); 
+0

是的,我刚刚发现那也。不管怎么说,还是要谢谢你。有关更多参考资料,http://forums.asp.net/t/1132654.aspx(阅读至最后) – william 2012-02-07 02:58:27

+1

我发现了一个呃逆。如果我选择其中一个值并刷新页面。之后,属性消失了。 – william 2012-02-07 03:03:05

+0

我对自己有一个解决方法。这将会给'Titles'的'value'一些独特的名字,比如'Title_Unclickable'。然后在'(IsPostBack)'的每个'page_load'循环下拉列表并将这个'disable'属性应用于所有那些具有上面提到的值的项目。 – william 2012-02-07 03:17:16

0

MSDN documentation

不能使用这个属性来禁止在 DropDownList控件或ListBox控件ListItem控件。

我认为你需要设置对应于HTML标记option元素

tempServicesItem.Attributes["disabled"] = "true";