WebControl.SupportsDisabledAttribute Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 false
en , aunque su Enabled propiedad se pueda establecer true
en .
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.