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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top