asp.net 如何在下拉列表中的另一项被删除时禁用下拉列表中的一项

w7t8yxp5  于 5个月前  发布在  .NET
关注(0)|答案(1)|浏览(62)

通常我使用这行代码来禁用一个项目。这很好用:

dropdownlist1.Items.FindByValue("item1").Attributes.Add("disabled", "disabled");

字符串
但是,如果我想删除同一列表中的其他项目,则前一个项目将不再被禁用:

dropdownlist1.Items.Remove(dropdownlist1.Items.FindByText("item2"));
dropdownlist1.Items.FindByValue("item1").Attributes.Add("disabled", "disabled");
dropdownlist1.Items.FindByValue("item1").Attributes.Add("title", "No Access");


相比之下,标题/工具提示在应该禁用的行上仍然可以正常工作,所以我不知道为什么该项目不会被禁用。Remove()函数的位置无关紧要,无论它是在添加“disabled”属性之前还是之后,它都会阻止禁用。

zengzsys

zengzsys1#

这是一个奇怪且不一致的问题,但至少我现在已经用Attributes.CssStyle.Add.("display", "none")而不是Remove()修复了它:

dropdownlist1.Items.FindByValue("item2").Attributes.CssStyle.Add("display", "none");

字符串

相关问题