problema com asp:menu no IE8

O internet explorer 8 se tornou muito, muito mais compatível com os padrões W3C do que as versões anteriores.

A diferença foi tanta que o IE 8 precisou criar o modo de compatibilidade, para que páginas que ainda não são totalmente compatíveis com este padrão possam continuar funcionando.

Desenvolvedores podem configurar seus sites para serem sempre rodados em modo de compatibilidade

Até mesmo o mais inesperado foi atingido pelas mudanças no IE 8 : O webcontrol de menu nativo do ASP.NET não encontrava-se 100% compatível com o W3C e consequentemente os sites que utilizam o webcontrol de menu apenas continuarão funcionando em modo de compatibilidade.

Existe uma solução simples em CSS que os sites que utilizam o webcontrol de menu podem utilizar :

   1: <style type="text/css">
   2: .adjustedZIndex {
   3:      z-index: 1;
   4:     }
   5: </style>

Adiciona-se este estilo em uma masterpage, por exemplo, e define-se como a cssClass do dynamicMenuStyle :

   1: <asp:Menu ID="Menu1" runat="server">
   2:     <DynamicMenuStyle CssClass="adjustedZIndex" />
   3: </asp:Menu>

Sendo que esta última parte pode ser feita através da janela de propriedades.

Sem dúvida esta é a forma mais simples de corrigir o problema. A Microsoft, porém, por obrigação, disponibilizou um patch de correção que resolve o problema do menu. A forma mais fácil de localizar este path é através deste KB .

Se vocês seguirem os links indicados no KB para o patch, encontrarão descrições muito estranhas, se referindo a problemas do IIS entre outros. Ocorre que o patch para o menu do ASP.NET foi discretamente inserido dentro destes outros.

Considerando as dificuldades de instalar isso em provedores, por exemplo, a solução com CSS é bem mais simples

por Dennes Oliveira

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *