Come posso ottenere < asp: menu > lavorando in Safari?
Domanda
Sul browser Safari, lo standard < asp: Menu > non rende affatto bene. Come si può risolvere?
Soluzione
Grazie per il consiglio, mi ha portato alla seguente soluzione;
Ho creato un file chiamato " safari.browser " e lo ha inserito nella directory App_Browsers. Il contenuto di questo file è mostrato di seguito;
<browsers>
<browser refID="safari1plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
</browsers>
A quanto ho capito, questo dice ad ASP.NET di non usare l'adattatore che normalmente userebbe per rendere il contenuto di controllo e invece usare il rendering di livello superiore.
Altri suggerimenti
È possibile utilizzare ControlAdapters per modificare il rendering dei controlli del server.
Ecco un esempio: http://www.pluralsight.com/ comunità / blogs / Fritz / archive / 2007/03/27 / 46598.aspx
Anche se, a mio avviso, potrebbe essere la stessa quantità di lavoro abbandonare il controllo del menu per un puro CSS (disponibile su molti siti).
Oooof - speravo fosse un semplice caso di aggiunta di un elemento browserCaps in web.config con valori appropriati o simili ...
La soluzione migliore e più semplice che ho trovato per questo problema è quella di includere questo bit di codice nell'evento page_load.
if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
Request.Browser.Adapters.Clear();