WebControl.SupportsDisabledAttribute Propiedad

Definición

Obtiene un valor que indica si el control debe establecer en "disabled" el atributo disabled del elemento HTML representado cuando el valor de la propiedad IsEnabled del control es 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

Valor de propiedad

Boolean

Siempre es true.

Atributos

Ejemplos

En el ejemplo siguiente se muestra el marcado de un control deshabilitado Label :

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

En ASP.NET 3.5 y versiones anteriores, este marcado representa el código HTML siguiente:

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

En ASP.NET 4, si el valor de la RenderingCompatibility propiedad es 4.0 o superior, y si la DisabledCssClass propiedad está establecida en su valor predeterminado, el mismo marcado representa el código HTML siguiente:

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

Comentarios

En las clases derivadas, esta propiedad indica cómo ASP.NET debe representar HTML para un control cuando el control está deshabilitado.

Deshabilitación de controles web de ASP.NET

Cuando la Enabled propiedad de un control ASP.NET se establece false en (es decir, cuando el control está deshabilitado), la intención es que ASP.NET debe representar el control en la página, pero mostrarlo en un estado deshabilitado (normalmente atenuado). Si un control primario está deshabilitado, los elementos secundarios de ese control también se muestran como deshabilitados. En ese caso, la propiedad del IsEnabled control secundario se establece falseen , aunque su Enabled propiedad se pueda establecer trueen .

En ASP.NET 3.5 y versiones anteriores, cuando la propiedad de IsEnabled un control es false, ASP.NET establece el disabled atributo en "disabled" en el elemento HTML que representa para el control. Sin embargo, el estándar HTML 4.01 solo permite el disabled atributo en determinados elementos que se usan para la entrada del usuario. Por ejemplo, el disabled atributo se permite para input los elementos, pero no para span los elementos.

La mayoría de los exploradores admiten una apariencia deshabilitada predeterminada para los elementos de solo presentación que tienen disabled atributos. Sin embargo, para cumplir con los estándares HTML, de forma predeterminada, ASP.NET 4 omite atributos no válidos.

Cómo se usa la propiedad SupportsDisabledAttribute

Si la SupportsDisabledAttribute propiedad es true, ASP.NET representa un disabled atributo cuando el control está deshabilitado. Si esta propiedad es false, ASP.NET representa un class atributo cuando el control está deshabilitado.

Las clases derivadas invalidan esta propiedad para devolver false si se cumplen todas las condiciones siguientes:

  • El control representa un elemento HTML que no admite el disabled atributo .

  • La RenderingCompatibility propiedad indica un número de versión de ASP.NET inferior a 4.0.

La SupportsDisabledAttribute propiedad no indica necesariamente si el elemento HTML que se representa para un control admite (permite) el disabled atributo. Si la propiedad de RenderingCompatibility un control indica un número de versión de ASP.NET inferior a 4.0, el valor de la propiedad del SupportsDisabledAttribute control podría devolver true incluso si el HTML representado no admite el disabled atributo .

Compatibilidad con versiones anteriores para controles deshabilitados

Cuando se usa Visual Studio para actualizar un proyecto web a ASP.NET 4 desde una versión anterior, Visual Studio establece automáticamente el controlRenderingCompatibilityVersion atributo en el archivo Web.config (que establece la RenderingCompatibility propiedad) en el número de versión anterior. Dado que la SupportsDisabledAttribute propiedad siempre devuelve true cuando la RenderingCompatibility propiedad es inferior a la 4.0, esto hace que los controles web representen HTML para los controles deshabilitados como lo hicieron en la versión anterior. Si desea que un sitio web actualizado represente HTML mediante el algoritmo introducido en ASP.NET 4, puede cambiar o quitar el controlRenderingCompatibilityVersion atributo . Para obtener más información, vea la propiedad RenderingCompatibility.

Establecer una apariencia deshabilitada mediante CSS

Si la SupportsDisabledAttribute propiedad de un control es false y el control está deshabilitado, ASP.NET establece el class atributo del elemento HTML representado en el valor de la WebControl.DisabledCssClass propiedad . El valor predeterminado de la WebControl.DisabledCssClass propiedad es "aspNetDisabled".

Para proporcionar una apariencia deshabilitada para los controles deshabilitados, debe definir una regla CSS para la clase representada por el valor de la WebControl.DisabledCssClass propiedad .

El elemento HTML que se representa para un control puede tener más de un valor en su class atributo si hay un valor en su CssClass propiedad. Para obtener más información, vea la propiedad DisabledCssClass.

Se aplica a

Consulte también