WebControl.SupportsDisabledAttribute Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
disabledatributo.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.