WebControl.SupportsDisabledAttribute Propriedade

Definição

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

Sempre true.

Atributos

Exemplos

O exemplo seguinte mostra marcação para um controlo Label desativado:

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

No ASP.NET 3.5 e versões anteriores, esta marcação gera o seguinte HTML:

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

Em ASP.NET 4, se o valor da propriedade RenderingCompatibility for 4.0 ou superior, e se a propriedade DisabledCssClass estiver definida para o seu valor predefinido, a mesma marcação gera o seguinte HTML:

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

Observações

Em classes derivadas, esta propriedade indica como o ASP.NET deve renderizar HTML para um controlo quando este está desativado.

Desativar os Controlos Web ASP.NET

Quando a propriedade Enabled de um controlo de ASP.NET é definida para false (ou seja, quando o controlo está desativado), a intenção é que ASP.NET reproduza o controlo na página, mas o exiba num estado desativado (normalmente atenuado). Se um controlo parental estiver desativado, os filhos desse controlo também são apresentados como desativados. Nesse caso, a propriedade do IsEnabled controlo filho é definida como false, mesmo que a sua Enabled propriedade possa ser definida como true.

Em versões ASP.NET 3.5 e anteriores, quando a propriedade IsEnabled de um controlo é false, ASP.NET define o atributo disabled como "desabilitado" no elemento HTML que renderiza para o controlo. No entanto, a norma HTML 4.01 permite o disabled atributo apenas em certos elementos usados para entrada do utilizador. Por exemplo, o disabled atributo é permitido para input elementos, mas não para span elementos.

A maioria dos navegadores suporta uma aparência desativada por defeito para elementos apenas de visualização que têm disabled atributos. No entanto, para cumprir os padrões HTML, por defeito o ASP.NET 4 omite atributos inválidos.

Como é Usada a Propriedade SupportsDisabledAttribute

Se a propriedade SupportsDisabledAttribute for true, ASP.NET gera um atributo disabled quando o controlo está desativado. Se esta propriedade for false, ASP.NET gera um atributo class quando o controlo é desativado.

As classes derivadas sobrepõem-se a esta propriedade para devolver false se todas as seguintes condições forem verdadeiras:

  • O controlo renderiza um elemento HTML que não suporta o disabled atributo.

  • A propriedade RenderingCompatibility indica um número de versão ASP.NET inferior à 4.0.

A SupportsDisabledAttribute propriedade não indica necessariamente se o elemento HTML renderizado para um controlo suporta (permite) o disabled atributo. Se a propriedade RenderingCompatibility de um controlo indicar um número de versão ASP.NET inferior a 4.0, o valor da propriedade SupportsDisabledAttribute do controlo pode devolver true mesmo que o HTML renderizado não suporte o atributo disabled.

Compatibilidade Retroativa para Controlos Desativados

Quando usa Visual Studio para atualizar um projeto Web para ASP.NET 4 a partir de uma versão anterior, Visual Studio define automaticamente o atributo controlRenderingCompatibilityVersion no ficheiro Web.config (que define a propriedade RenderingCompatibility) para o número de versão anterior. Como a SupportsDisabledAttribute propriedade devolve true sempre quando é RenderingCompatibility inferior a 4.0, isto faz com que os controlos Web renderizem HTML para controlos desativados, tal como acontecia na versão anterior. Se quiser um site atualizado para renderizar HTML usando o algoritmo introduzido em ASP.NET 4, pode alterar ou remover o atributo controlRenderingCompatibilityVersion. Para obter mais informações, consulte a propriedade RenderingCompatibility.

Definir uma aparência desativada usando CSS

Se a propriedade SupportsDisabledAttribute de um controlo for false e o controlo estiver desativado, ASP.NET define o atributo class do elemento HTML renderizado para o valor da propriedade WebControl.DisabledCssClass. O valor padrão da WebControl.DisabledCssClass propriedade é "aspNetDisabled".

Para fornecer uma aparência desativada para controlos desativados, deve definir uma regra CSS para a classe representada pelo valor da WebControl.DisabledCssClass propriedade.

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

Aplica-se a

Ver também