на первый взгляд кажется, что это (плохой) дизайн
https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.supportsdisabledattribute.aspx
Если свойство SupportsDisabledAttribute элемента управления имеет значение false и
элемент управления отключен, ASP.NET устанавливает атрибут класса
визуализированный элемент HTML в значение WebControl.DisabledCssClass
имущество. Значение по умолчанию для WebControl.DisabledCssClass
свойство "aspNetDisabled". Чтобы обеспечить отключенный внешний вид для
отключенные элементы управления, вы должны определить правило CSS для класса, который
представленный значением свойства WebControl.DisabledCssClass.
Элемент HTML, отображаемый для элемента управления, может иметь более
одно значение в его атрибуте класса, если есть значение в его CssClass
имущество. Для получения дополнительной информации см. Свойство DisabledCssClass.
странно, что я вижу как disabled = "disabled", так и class = "aspNetDisabled" на одной веб-странице:
https://www.dropbox.com/s/sv47x7yoqdzkzh4/Screenshot%202016-10-24%2018.24.16.png?dl=0
У меня там есть панель, которая отключена, и кажется, что она добавляет disabled = "disabled" ко всем отображаемым дочерним элементам (включая DropDownList), за исключением тех, которые для ListBox явно установлены в значение Enabled = "False", которые кажутся получить класс = "aspNetDisabled". Когда я включаю родительскую панель, эти списки при визуализации по-прежнему используют class = "aspNetDisabled" (вместо disabled = "disabled", как, кажется, использует DropDownList), и пользователь может выбрать элемент в них (они не отключены).
Так что это похоже на ошибку в элементе управления ListBox, возможно, он устанавливает «SupportsDisabledAttribute» в false, в то время как DropDownList должен устанавливать для него значение true. Если это так, то это глупо, так как они оба отображаются как "select", а ListBox просто использует "size = 4", чтобы показать 4 элемента по умолчанию