Css e menu...scusate l'ignoranza

venerdì 05 settembre 2008 - 11.59

liuc Profilo | Junior Member

Ciao a tutti,
e come premesso nell'oggetto scusate la mia ignoranza per la domanda che sto per farvi.
In molti esempi che vedo sui menu creati con i fogli di stile vedo che l'elemento attivo del menu viene spesso formattato impostando " class='active' " in uno deigli elementi <li> con cui il menu è creato.

Ora la domanda è: in quale modo si va a settare tale valore alla selezione della voce di menu?
Via javasript? al postback della pagina?
un esempio?
Grazie.

freeteo Profilo | Guru

ciao,
per quel che so io, tramite css puro non riesci a cambiare gli attributi dei tag html (o cmq asp.net che poi renderizzeranno html ovviamente), quindi non c'è niente che puo "settare" un attributo tramite css.
Puoi impostare la visualizzazione di tutti quei tag che hanno quella classe, ma è qualcosa che viene applicato "dopo" che han generato il tag.

Quindi l'unico modo per farlo, è farlo o tramite javascript (esempio veloce):
<ul> <li id="primaVoce">Prima</li> <li id="secondaVoce">Seconda</li> <li id="terzaVoce">Terza</li> </ul> <script type="text/javascript" > if(document.URL.indexOf("prima",0) > 0) document.getElementById('primaVoce').className = 'selezionato'; if (document.URL.indexOf("seconda", 0) > 0) document.getElementById('secondaVoce').className = 'selezionato'; if (document.URL.indexOf("terza", 0) > 0) document.getElementById('terzaVoce').className = 'selezionato'; </script>

oppure tramite asp.net, io ad esempio nel tag gestisco li se sono in quella pagina o meno, e imposto il relativo tag di menu:
... <li id="primaVoce" class="<%= Request.RawUrl.Contains("prima") ? "selezionato" : "" %>" >Prima</li> ...
e il risultato è lo stesso...

Oppure nel load della pagina lo controlli, e lo setti, ma devi avere dei tag con " runat="server" " in quest'ultimo caso

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

liuc Profilo | Junior Member

Grazie mille.
:-)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5