WebControl.SupportsDisabledAttribute Proprietà

Definizione

Ottiene un valore che indica se il controllo deve impostare l'attributo disabled dell'elemento HTML di cui è stato eseguito il rendering su "disabilitato" quando la proprietà IsEnabled del controllo è 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

Valore della proprietà

Boolean

Sempre true.

Attributi

Esempio

L'esempio seguente mostra il markup per un controllo disabilitato Label :

<asp:Label id="Label1" runat="server" Text="Test" Enabled="false"/>

In ASP.NET 3.5 e versioni precedenti, questo markup esegue il rendering del codice HTML seguente:

<span id="Label1" disabled="disabled">Test</span>

In ASP.NET 4, se il valore della RenderingCompatibility proprietà è 4.0 o versione successiva e se la DisabledCssClass proprietà è impostata sul valore predefinito, lo stesso markup esegue il rendering del codice HTML seguente:

<span id="Label1" class="aspNetDisabled">Test</span>

Commenti

Nelle classi derivate, questa proprietà indica come ASP.NET deve eseguire il rendering del codice HTML per un controllo quando il controllo è disabilitato.

Disabilitazione dei controlli Web ASP.NET

Quando la Enabled proprietà di un controllo ASP.NET è impostata su false ( ovvero quando il controllo è disabilitato), la finalità è che ASP.NET deve eseguire il rendering del controllo nella pagina, ma visualizzarlo in uno stato disabilitato (in genere in grigio). Se un controllo padre è disabilitato, anche gli elementi figlio di tale controllo vengono visualizzati come disabilitati. In tal caso, la proprietà del IsEnabled controllo figlio è impostata su false, anche se la relativa Enabled proprietà potrebbe essere impostata su true.

In ASP.NET 3.5 e versioni precedenti, quando la proprietà di IsEnabled un controllo è false, ASP.NET imposta l'attributo disabled su "disabled" nell'elemento HTML di cui esegue il rendering per il controllo. Tuttavia, lo standard HTML 4.01 consente l'attributo disabled solo per determinati elementi usati per l'input dell'utente. Ad esempio, l'attributo disabled è consentito per input gli elementi, ma non per span gli elementi.

La maggior parte dei browser supporta un aspetto disabilitato predefinito per gli elementi di sola visualizzazione con disabled attributi. Tuttavia, per rispettare gli standard HTML, per impostazione predefinita ASP.NET 4 omette attributi non validi.

Modalità di utilizzo della proprietà SupportsDisabledAttribute

Se la SupportsDisabledAttribute proprietà è true, ASP.NET esegue il rendering di un disabled attributo quando il controllo è disabilitato. Se questa proprietà è false, ASP.NET esegue il rendering di un class attributo quando il controllo è disabilitato.

Le classi derivate eseguono l'override di questa proprietà per restituire false se sono soddisfatte tutte le condizioni seguenti:

  • Il controllo esegue il rendering di un elemento HTML che non supporta l'attributo disabled .

  • La RenderingCompatibility proprietà indica un numero di versione ASP.NET inferiore a 4.0.

La SupportsDisabledAttribute proprietà non indica necessariamente se l'elemento HTML di cui viene eseguito il rendering per un controllo supporta (consente) l'attributo disabled . Se la proprietà di RenderingCompatibility un controllo indica un numero di versione ASP.NET inferiore a 4.0, il valore della proprietà del SupportsDisabledAttribute controllo potrebbe restituire true anche se il codice HTML sottoposto a rendering non supporta l'attributo disabled .

Compatibilità con le versioni precedenti per i controlli disabilitati

Quando si usa Visual Studio per aggiornare un progetto Web a ASP.NET 4 da una versione precedente, Visual Studio imposta automaticamente l'attributo controlRenderingCompatibilityVersion nel file di Web.config (che imposta la RenderingCompatibility proprietà) sul numero di versione precedente. Poiché la SupportsDisabledAttribute proprietà restituisce true sempre quando la RenderingCompatibility proprietà è inferiore alla 4.0, i controlli Web eseguono il rendering del codice HTML per i controlli disabilitati come nella versione precedente. Se si vuole che un sito Web aggiornato esegua il rendering del codice HTML usando l'algoritmo introdotto in ASP.NET 4, è possibile modificare o rimuovere l'attributo controlRenderingCompatibilityVersion . Per altre informazioni, vedere la proprietà RenderingCompatibility.

Impostazione di un aspetto disabilitato tramite CSS

Se la SupportsDisabledAttribute proprietà di un controllo è e il controllo è false disabilitato, ASP.NET imposta l'attributo dell'elemento class HTML di cui è stato eseguito il rendering sul valore della WebControl.DisabledCssClass proprietà. Il valore predefinito della WebControl.DisabledCssClass proprietà è "aspNetDisabled".

Per fornire un aspetto disabilitato per i controlli disabilitati, è necessario definire una regola CSS per la classe rappresentata dal valore della WebControl.DisabledCssClass proprietà .

L'elemento HTML di cui viene eseguito il rendering per un controllo potrebbe avere più di un valore nell'attributo class se è presente un valore nella relativa CssClass proprietà. Per altre informazioni, vedere la proprietà DisabledCssClass.

Si applica a

Vedi anche