¿Cómo puedo hacer que <asp:menu> funcione en Safari?
Pregunta
En el navegador Safari, el <asp:Menu> estándar no se muestra nada bien.¿Cómo se puede arreglar esto?
Solución
Gracias por el consejo, me llevó a la siguiente solución;
Creé un archivo llamado "safari.browser" y lo coloqué en el directorio App_Browsers.El contenido de este archivo se muestra a continuación;
<browsers>
<browser refID="safari1plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
</browsers>
Según tengo entendido, esto le dice a ASP.NET que no use el adaptador que normalmente usaría para representar el contenido de control y que en su lugar use la representación de nivel superior.
Otros consejos
Puede utilizar ControlAdapters para alterar la representación de los controles del servidor.
He aquí un ejemplo:http://www.pluralsight.com/community/blogs/fritz/archive/2007/03/27/46598.aspx
Sin embargo, en mi opinión, podría suponer la misma cantidad de trabajo abandonar el control del menú por uno CSS puro (disponible en muchos sitios).
Oooof, esperaba que fuera un caso simple de agregar un elemento browserCaps en web.config con valores apropiados o similares...
La mejor y más sencilla solución que he encontrado para este problema es incluir este fragmento de código en el evento page_load.
if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
Request.Browser.Adapters.Clear();