Menu da codice

giovedì 07 maggio 2009 - 18.27

bolla111 Profilo | Senior Member

ciao...
ho inserito in una pagina aspx la costruzione di un menù principale, composto da tag <ul> <li>...
esempio:
<ul>
<li><a onmouseover="dropdownmenu(this, event, menu1, '180px')" onmouseout="delayhidemenu()">Voce1</a></li>
<li>...</li>
</ul>

ogni voce (<li>) ha un menu a tendina, infatti dal codice d'esempio si vedono i richiami alle funzioni...
questo menù a tendina è un javascript contenuto nella pagina aspx; nel javascript sono contenuti tutti i vari menu a tendina, le varie funzioni che permettono di aprirli ecc...

ora il problema...è x me necessario costruire il menu principale da codice lato server...questo viene scritto, ma i menu a tendina non funzionano..e non riesco a capire il perchè visto che se apro l'html della pagina mentre è in esecuzione, il menu principale viene scritto bene (e anche visualizzato)...

spero di essere stato chiaro...potete aiutarmi?

4mane Profilo | Junior Member

Se ho capito bene hai creato una BullettedList ed n ListItem, quante sono le voci del tuo menu.
Se così hai fatto, allora basta che aggiungi gli attributi ai ListItem che crei sempre da lato server, nel modo che segue:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
considerando che BullettedList1, sia il tuo menu.
Fammi sapere.
Ciao.

bolla111 Profilo | Senior Member

non ho usato una bulletted list...ho solo scritto queste righe di codice lato client come le vedi (cioè <ul> <li> e basta)
cmq..li creo lato server...però mi sono dimenticato di spiegare come:
in pratica io non so ne quante sono le voci del menu principale, ne quante sono le voci dei menu a tendina di ogni voce del menu principale...
questo perchè in base a dei dati che vengono salvati sul db,il menu cambia (perchè ad ogni utente che può autenticarsi, può accedere solo ad alcune parti del menu e dei menu a tendina)
posto un esempio:
pag aspx:
<ul> <li><a href="Default.aspx">Home</a></li> <%StampaMenuPadre()%> <li><asp:LinkButton ID="btnLogout" runat="server">Logout</asp:LinkButton></li> </ul>

qui ci sono i vari contenuti dei menu a tendina e le funzioni che permettono la sua esecuzione (metto solo la composizione di un menu a tendina)
<script type="text/jscript"> var menu1 = new Array() menu1[0] = '<a href="Pag1.aspx">Pagina1</a>' ... </script>

pag aspx.vb:
1-faccio una selezione sul db dei dati che mi servono
2-li metto in un datatable
3-faccio un ciclo x generare il menu principale
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

in pratica con questo ciclo e queste condizioni seleziono i record della tabella del db che servono per creare il menu principale (l'if principale è ancora incompiuto, ma non è quello il problema)
cmq, come puoi vedere, creo manualmente il codice che ti ho postato ieri...solo che creando manualmente il menu principale, i menu a tendina non funzionano, mentre se le voci del menu sono già inserite nella pagina come ti avevo postato ieri, i menu a tendina funzionano bene (l'html del menu che si crea mentre viene eseguito è cmq uguale)
se hai capito, perchè succede questo?
si può risolvere il problema? o c'è un altro modo per comporre il menu?

4mane Profilo | Junior Member

Fammi capire, la pagina che viene rendizzata e quindi il relativo codice HTML prodotto è identico a quello che ottieni se crei la pagina manualmente?
Nella pagina che non funziona, riscontri per caso degli errori js?

bolla111 Profilo | Senior Member

asp...ho risolto...era una cavolata...
quando creavo da codice le ricghe che mi servivano, al posto di usare i doppi apici( " ) usavo l'apice singolo( ' ), questo perchè se no si chiudeva la stringa, quindi nell'html risultava il singolo apice dove invece ne servivano 2...mentre quello che dovevo fare era sostituirli con i doppi apici ripetuti ( "")...
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5