Domanda

Io sto usando un ASP.NET menu di controllo.Vorrei il menu a guardare come questo, dove link da 1 a 10 sono in un file sitemap e link da 11 a 20 in un altro.

root
--link 1
(...)
--link 10
--link 11
(...)
--link 20

Tuttavia, il file sitemap DEVE avere una radice che mi sembra di non riuscire a sopprimere.

Ogni pensiero?

-Edoode

È stato utile?

Soluzione

C'è qualche motivo che non è possibile aggiungere un manichino nodo radice e quindi una sottoclasse l'ASP.NET menu di controllo per ignorare il vostro manichino "root" nodo?

Si dovrebbe essere in grado di dire al vostro SiteMapProvider utilizzare diverse mappe del sito per il menu.

L'altra domanda che ho è che è lo scopo di avere più file sitemap?Sono sicuro che avete un valido motivo per questo, ma sapendo quello che sta succedendo sarebbe più facile da capire e trovare una soluzione migliore.

Detto questo, vorrei venire con un homegrown sistema di menu.Si potrebbe utilizzare jQuery e superfish plugin sul front-end e C# per leggere la tua mappa del sito i file sul back-end per costruire il menuing struttura.

Altri suggerimenti

È possibile eliminare il nodo radice effettuando le seguenti operazioni:

SiteMapDataSource ds = new SiteMapDataSource();
ds.SiteMapProvider = "providername";
ds.ShowStartingNode = false;
TreeView1.DataSource = ds;
TreeView1.DataBind();

Io uso questo metodo per nascondere il nodo principale per una vista ad albero.

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