modo migliore per generare ed evidenziare le voci di menu sul server (asp.net)
-
04-07-2019 - |
Domanda
Ho un componente ascx, che contiene un menu a due livelli, perché ci sono diversi tipi di utenti e il menu deve essere calcolato sul server.
Comunque - sto anche facendo l'evidenziazione della voce di menu corrente sul server (aggiungendo una classe / css selezionata a una voce). L'evidenziazione con javascript non è una buona opzione, poiché nei contenuti è presente un contenuto che causa postback e deve rimanere il menu nella stessa posizione del valore selezionato. Quindi lo sto facendo come una sorta di mappatura con una tabella hash (es. Coppie (url-of-the-site, menu-item-to-highlight)), e devo includere una mappatura per ogni sito in cui la mia applicazione web contiene ordine voglio avere i menu evidenziati ... quindi in qualche modo mi dà fastidio che ci debba essere un modo migliore per farlo. ci sono tecniche migliori?
Soluzione
Una tecnica che uso sulla mia pagina principale / pagine di contenuto con .NET 2.0 è quella di avere un metodo accessibile pubblicamente chiamato " SetNavigation " che accetta un carattere stringa correlato al controllo del collegamento ipertestuale che voglio evidenziare. Quello che fa il metodo è impostare il foglio di stile CSS del collegamento ipertestuale specificato su il mio "selezionato" uno.
Quindi nelle mie pagine figlio, nel metodo Page_Load, chiamo il metodo SetNavigation e passo il collegamento in base alla pagina corrente in cui mi trovo, come SetNavigation (" hypSearch ")
Vorrei sapere che potresti creare un controllo simile sul tuo controllo ASCX e quindi che i tuoi eventi Page_Load o persino gli eventi di clic sui pulsanti chiamino il metodo se lo desideri.