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

屬性值

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 將屬性設定 disabled 為控制項呈現的 HTML 元素中的 「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 表示 ASP.NET 版本號碼低於 4.0。

屬性 SupportsDisabledAttribute 不一定表示為控制項轉譯的 HTML 專案是否支援 (允許) disabled 屬性。 如果控制項 RenderingCompatibility 的 屬性指出低於 4.0 的 ASP.NET 版本號碼,即使轉譯的 HTML 不支援 disabled 屬性,控制項 SupportsDisabledAttribute 的 屬性值仍可能會傳回 true

停用控制項的回溯相容性

當您使用 Visual Studio 將 Web 專案從舊版升級至 ASP.NET 4 時,Visual Studio會自動 controlRenderingCompatibilityVersion 在Web.config檔案中設定 屬性, (將 RenderingCompatibility 屬性) 設定為舊版號碼。 SupportsDisabledAttribute由於 屬性在低於 4.0 時 RenderingCompatibility 一律會傳回 true 屬性,因此 Web 控制項會呈現已停用控制項的 HTML,如同在舊版中一樣。 如果您想要升級的網站使用 ASP.NET 4 中引進的演算法來轉譯 HTML,您可以變更或移除 controlRenderingCompatibilityVersion 屬性。 如需詳細資訊,請參閱 RenderingCompatibility 屬性 (Property)。

使用 CSS 設定停用的外觀

SupportsDisabledAttribute如果控制項的 屬性是 false 且控制項已停用,ASP.NET 將轉譯 HTML 元素的 屬性設定 class 為 屬性的值 WebControl.DisabledCssClass 。 屬性的 WebControl.DisabledCssClass 預設值為 「aspNetDisabled」。

若要為停用的控制項提供停用的外觀,您必須為 屬性的值所代表的 WebControl.DisabledCssClass 類別定義 CSS 規則。

如果控制項的 屬性中有 class CssClass 值,則為控制項轉譯的 HTML 元素可能會有一個以上的值。 如需詳細資訊,請參閱 DisabledCssClass 屬性 (Property)。

適用於

另請參閱