WebControl.SupportsDisabledAttribute 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示在控件的 disabled
属性为 IsEnabled 时,控件是否应将呈现的 HTML 元素的 false
特性设置为 "disabled"。
public:
virtual property bool SupportsDisabledAttribute { bool get(); };
[System.ComponentModel.Browsable(false)]
public virtual bool SupportsDisabledAttribute { get; }
[<System.ComponentModel.Browsable(false)>]
member this.SupportsDisabledAttribute : bool
Public Overridable ReadOnly Property SupportsDisabledAttribute As Boolean
属性值
总是为 true
。
- 属性
示例
以下示例显示已禁用 Label 控件的标记:
<asp:Label id="Label1" runat="server" Text="Test" Enabled="false"/>
在 ASP.NET 3.5 及更早版本中,此标记呈现以下 HTML:
<span id="Label1" disabled="disabled">Test</span>
在 ASP.NET 4 中,如果 属性的 RenderingCompatibility 值为 4.0 或更高,并且属性 DisabledCssClass 设置为其默认值,则相同的标记将呈现以下 HTML:
<span id="Label1" class="aspNetDisabled">Test</span>
注解
在派生类中,此属性指示禁用控件时 ASP.NET 应如何呈现控件的 HTML。
禁用 ASP.NET Web 控件
Enabled当 ASP.NET 控件的 属性设置为false
(即在) 禁用控件时,目的是 ASP.NET 应在页面中呈现控件,但以禁用状态显示控件 (通常变暗) 。 如果父控件处于禁用状态,该控件的子控件也会显示为已禁用。 在这种情况下,子控件的 IsEnabled 属性设置为 false
,即使其 Enabled 属性可能设置为 true
。
在 ASP.NET 3.5 及更早版本中,当控件的 IsEnabled 属性为 false
时,ASP.NET 在它为控件呈现的 HTML 元素中将属性设置为 disabled
“disabled”。 但是,HTML 4.01 标准仅允许 disabled
对用于用户输入的某些元素使用 属性。 例如, disabled
属性允许用于 input
元素,但不允许用于 span
元素。
对于具有 disabled
属性的仅显示元素,大多数浏览器都支持默认禁用的外观。 但是,为了符合 HTML 标准,默认情况下 ASP.NET 4 省略无效属性。
如何使用 SupportsDisabledAttribute 属性
SupportsDisabledAttribute如果 属性为 true
,ASP.NET 在控件被禁用时呈现特性disabled
。 如果此属性为 false
,ASP.NET 在禁用控件时呈现属性 class
。
如果满足以下所有条件,派生类将重写此属性以返回 false
:
控件呈现不支持 属性的
disabled
HTML 元素。属性 RenderingCompatibility 指示低于 4.0 的 ASP.NET 版本号。
属性 SupportsDisabledAttribute 不一定指示为控件呈现的 HTML 元素是否支持 (允许) disabled
属性。 如果控件的 RenderingCompatibility 属性指示 ASP.NET 版本号低于 4.0,则即使呈现的 SupportsDisabledAttribute HTML 不支持 disabled
属性,控件的 属性的值也可能返回true
。
已禁用控件的向后兼容性
使用 Visual Studio 将 Web 项目从早期版本升级到 ASP.NET 4 时,Visual Studio 会自动在 Web.config 文件中设置 controlRenderingCompatibilityVersion
属性 (这将 RenderingCompatibility 属性) 设置为早期版本号。 由于 当 SupportsDisabledAttribute 属性低于 4.0 时RenderingCompatibility, 属性始终返回true
,这会导致 Web 控件呈现禁用控件的 HTML,就像在早期版本中一样。 如果希望升级的网站使用 ASP.NET 4 中引入的算法呈现 HTML,可以更改或删除 属性 controlRenderingCompatibilityVersion
。 有关更多信息,请参见 RenderingCompatibility 属性。
使用 CSS 设置禁用的外观
SupportsDisabledAttribute如果控件的 属性为 false
并且控件被禁用,ASP.NET 将呈现的 HTML 元素的 属性设置为 class
该WebControl.DisabledCssClass属性的值。 属性的 WebControl.DisabledCssClass 默认值为“aspNetDisabled”。
若要为禁用的控件提供禁用的外观,必须为由 属性的值表示的 WebControl.DisabledCssClass 类定义 CSS 规则。
如果控件的 属性中存在值,则为控件呈现的 HTML 元素的 class
属性中 CssClass 可能有多个值。 有关更多信息,请参见 DisabledCssClass 属性。