WebControl.SupportsDisabledAttribute 属性

定义

获取一个值,该值指示在控件的 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 元素的 属性设置为 classWebControl.DisabledCssClass属性的值。 属性的 WebControl.DisabledCssClass 默认值为“aspNetDisabled”。

若要为禁用的控件提供禁用的外观,必须为由 属性的值表示的 WebControl.DisabledCssClass 类定义 CSS 规则。

如果控件的 属性中存在值,则为控件呈现的 HTML 元素的 class 属性中 CssClass 可能有多个值。 有关更多信息,请参见 DisabledCssClass 属性。

适用于

另请参阅