Domanda

Sul browser Safari, lo standard < asp: Menu > non rende affatto bene. Come si può risolvere?

È stato utile?

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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top