O Menu Asp.NET e o Chrome (e Safari)

Existe um problema no controle Menu no Asp.NET WebForms que faz com que ele não seja renderizado corretamente no Safari e no Google Chrome. O que acontece é que o servidor detecta o user-agent do navegador do cliente e monta a página de acordo.  Mas o  Asp.NET não reconhece o Safari e o Chrome como navegadores capazes, e por isso não conseguem renderizar um Menu em toda sua glória infestada de table’s, tr’s e td’s. Então lhes é servido um menu mais pobre, feio e maltratado .

O jeito é então alertar o Asp.NET  da existência destes navegadores.  E para isto basta criar uma pasta e um arquivo.

Se já não existir, crie em seu projeto uma pasta App_Browsers. E dentro dela crie um arquivo chamado safari.browser, que deve conter o seguinte:

<browsers>
    <browser refID="Safari1Plus">
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
        </controlAdapters>
    </browser>
</browsers>

E pronto! Tanto Safari quanto Chrome agora poderão mostrar seus lindos menus tablefull.

Posts relacionados

11 ideias sobre “O Menu Asp.NET e o Chrome (e Safari)

  1. Luiz Henrique

    Boa dica;
    Estava com esse problema em uma aplicação que estava trabalhando e resolvi com essa dica, muito boa mesmo.

  2. Ruy Salles

    Muito boa esta dica. Estava sem saber o que estava acontecendo com a minha aplicação e foi resolvida muito facilmente com esta grande dica. Muito obrigado por ajudar a comunidade.

  3. Sebastião Antônio

    Dica precisa e muito esclarecedora. Muito obrigado, já estava pensando em mudar minh aplicação toda por causa desse problema. Quem diria que era tão simples resolver… Valeu mesmo. Está de parabéns por ajudar tanto enquanto tantos só pensam em avacalhar a net.

Deixe uma resposta

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

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>