WebControl.SupportsDisabledAttribute Propriedade

Definição

Obtém um valor que indica se o controle deve definir o atributo disabled do elemento HTML renderizado para "desabilitado" quando a propriedade do controle IsEnabled é 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 da propriedade

Boolean

Sempre true.

Atributos

Exemplos

O exemplo a seguir mostra a marcação de um controle desabilitado Label :

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

Em ASP.NET 3.5 e versões anteriores, essa marcação renderiza o seguinte HTML:

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

Em ASP.NET 4, se o valor da RenderingCompatibility propriedade for 4.0 ou maior e se a DisabledCssClass propriedade estiver definida como seu valor padrão, a mesma marcação renderizará o seguinte HTML:

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

Comentários

Em classes derivadas, essa propriedade indica como ASP.NET deve renderizar HTML para um controle quando o controle está desabilitado.

Desabilitando controles Web ASP.NET

Quando a Enabled propriedade de um controle ASP.NET é definida false como (ou seja, quando o controle está desabilitado), a intenção é que ASP.NET deve renderizar o controle na página, mas exibi-lo em um estado desabilitado (normalmente esmaecido). Se um controle pai estiver desabilitado, os filhos desse controle também serão exibidos como desabilitados. Nesse caso, a propriedade do IsEnabled controle filho é definida como false, embora sua Enabled propriedade possa ser definida como true.

Em ASP.NET 3.5 e versões anteriores, quando a propriedade de IsEnabled um controle é false, ASP.NET define o disabled atributo como "desabilitado" no elemento HTML que ele renderiza para o controle. No entanto, o padrão HTML 4.01 permite o disabled atributo somente em determinados elementos que são usados para entrada do usuário. Por exemplo, o disabled atributo é permitido para input elementos, mas não para span elementos.

A maioria dos navegadores dá suporte a uma aparência desabilitada padrão para elementos somente exibição que têm disabled atributos. No entanto, para cumprir as normas HTML, por padrão, ASP.NET 4 omite atributos inválidos.

Como a propriedade SupportsDisabledAttribute é usada

Se a SupportsDisabledAttribute propriedade for true, ASP.NET renderizará um disabled atributo quando o controle estiver desabilitado. Se essa propriedade for false, ASP.NET renderizará um class atributo quando o controle estiver desabilitado.

Classes derivadas substituem essa propriedade para retornar false se todas as seguintes condições forem verdadeiras:

  • O controle renderiza um elemento HTML que não dá suporte ao disabled atributo.

  • A RenderingCompatibility propriedade indica um número de versão ASP.NET menor que 4,0.

A SupportsDisabledAttribute propriedade não indica necessariamente se o elemento HTML renderizado para um controle dá suporte (permite) o disabled atributo. Se a propriedade de RenderingCompatibility um controle indicar um número de versão ASP.NET menor que 4.0, o valor da propriedade do SupportsDisabledAttribute controle poderá retornar true mesmo se o HTML renderizado não der suporte ao disabled atributo.

Compatibilidade com versões anteriores para controles desabilitados

Quando você usa Visual Studio para atualizar um projeto Web para ASP.NET 4 de uma versão anterior, Visual Studio define automaticamente o controlRenderingCompatibilityVersion atributo no arquivo Web.config (que define a RenderingCompatibility propriedade) como o número de versão anterior. Como a SupportsDisabledAttribute propriedade sempre retorna true quando a RenderingCompatibility propriedade é menor que 4.0, isso faz com que os controles da Web renderizem HTML para controles desabilitados, como fizeram na versão anterior. Se você quiser que um site atualizado renderize HTML usando o algoritmo introduzido no ASP.NET 4, você poderá alterar ou remover o controlRenderingCompatibilityVersion atributo. Para obter mais informações, consulte a propriedade RenderingCompatibility.

Configurando uma aparência desabilitada usando CSS

Se a SupportsDisabledAttribute propriedade de um controle for false e o controle estiver desabilitado, ASP.NET definirá o class atributo do elemento HTML renderizado como o valor da WebControl.DisabledCssClass propriedade. O valor padrão da WebControl.DisabledCssClass propriedade é "aspNetDisabled".

Para fornecer uma aparência desabilitada para controles desabilitados, você deve definir uma regra CSS para a classe representada pelo valor da WebControl.DisabledCssClass propriedade.

O elemento HTML que é renderizado para um controle pode ter mais de um valor em seu class atributo se houver um valor em sua CssClass propriedade. Para obter mais informações, consulte a propriedade DisabledCssClass.

Aplica-se a

Confira também