WebControl.SupportsDisabledAttribute Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.