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.
Muito bom, porem a linha 4 posição 63 tem que ser um espaço em branco.
Consertado!
Boa dica;
Estava com esse problema em uma aplicação que estava trabalhando e resolvi com essa dica, muito boa mesmo.
Boa.. Valeu!
Muito obrigado funcionou!
Funcionou, muito bom. Agradeço.
Funcionou perfeitamente!
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.
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.
Muiiiiiiiiiiiiiito boa a dica.
Perfeito!