次の方法で共有


WebControl.SupportsDisabledAttribute プロパティ

定義

コントロールの disabled プロパティが IsEnabled の場合、レンダリングされた HTML 要素の false 属性を "無効" に設定するかどうかを示す値を取得します。

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 プロパティが の場合 ASP.NET false、コントロールに対してレンダリングする HTML 要素で 属性を "disabled" に設定 disabled します。 ただし、HTML 4.01 標準では、 disabled ユーザー入力に使用される特定の要素に対してのみ 属性が許可されます。 たとえば、 属性は要素に disabled 対しては input 許可されますが、要素には span 使用できません。

ほとんどのブラウザーでは、属性を持つ表示専用要素の既定の無効な外観が disabled サポートされています。 ただし、HTML 標準に準拠するために、既定では ASP.NET 4 では無効な属性が省略されます。

SupportsDisabledAttribute プロパティの使用方法

プロパティが の SupportsDisabledAttribute 場合、 trueASP.NET コントロールが無効になっているときに属性がレンダリングされます disabled 。 このプロパティが の場合、 falseASP.NET コントロールが無効になっているときに属性がレンダリングされます class

派生クラスは、次のすべての条件が満たされている場合に、このプロパティをオーバーライドして を返 false します。

  • コントロールは、 属性をサポートしない HTML 要素を disabled レンダリングします。

  • プロパティは RenderingCompatibility 、4.0 より小さい ASP.NET バージョン番号を示します。

プロパティは SupportsDisabledAttribute 、コントロールに対してレンダリングされる HTML 要素が 属性をサポート (許可) disabled するかどうかを必ずしも示すわけではありません。 コントロールの RenderingCompatibility プロパティが 4.0 未満のバージョン番号 ASP.NET 示している場合、レンダリングされた HTML で 属性がサポートdisabledされていない場合でも、コントロールの SupportsDisabledAttribute プロパティの値が返trueされる可能性があります。

無効なコントロールの下位互換性

Visual Studio を使用して Web プロジェクトを以前のバージョンから ASP.NET 4 にアップグレードすると、Visual Studio によって、Web.config ファイル内の属性 (プロパティが設定されます) が以前のバージョン番号に自動的 controlRenderingCompatibilityVersion に設定 RenderingCompatibility されます。 プロパティが SupportsDisabledAttribute 4.0 より小さい場合RenderingCompatibility、プロパティは常に を返trueすので、Web コントロールは以前のバージョンと同様に無効なコントロールの HTML をレンダリングします。 アップグレードされた Web サイトで、ASP.NET 4 で導入されたアルゴリズムを使用して HTML をレンダリングする場合は、 属性を controlRenderingCompatibilityVersion 変更または削除できます。 詳細については、RenderingCompatibility プロパティを参照してください。

CSS を使用して無効な外観を設定する

コントロールの SupportsDisabledAttribute プロパティが で、コントロールがfalse無効になっている場合、ASP.NET レンダリングされた HTML 要素の属性を プロパティのWebControl.DisabledCssClass値に設定classします。 プロパティの WebControl.DisabledCssClass 既定値は "aspNetDisabled" です。

無効にされたコントロールの無効な外観を提供するには、 プロパティの値で表されるクラスの CSS ルールを定義する WebControl.DisabledCssClass 必要があります。

コントロールに対してレンダリングされる HTML 要素のプロパティに値がある場合、その class 属性に複数の CssClass 値が含まれる可能性があります。 詳細については、DisabledCssClass プロパティを参照してください。

適用対象

こちらもご覧ください