Glengamoi · AspHeute (Artikel) · .NET Heute (RSS-Suche) · .NET Blogs · Glengamoi Suche (Installieren via Klick)

Glengamoi

Die Diskussionsforen der deutschen .NET Community
Willkommen bei Glengamoi. Anmeldung | Registrieren | Hilfe
in Suchen

List-Navigation aus Sitemap erstellen

Letzter Beitrag 04-24-2009 15:55 von DanielaFischer. 0 Antworten.
Seite 1 von 1 (1 Treffer)
Beiträge sortieren: Zurück Weiter
  • 04-24-2009 15:55

    List-Navigation aus Sitemap erstellen

    Ich möchte eine Menü, welches in der einer Sitemap ausgelagert ist, in einer Liste ausgeben.

    Beispiel:

    <ul>
      <li> Menüpunkt 1</li>
      <li> Menüpunkt 2</li>
         <ul>
           <li>Untermenüpunkt 2.1</li>
           <li>Untermenüpunkt 2.1</li>
         </ul>
      <li> Menüpunkt 3</li>
    </ul>

    Die Formatierung dieses Menüs steuere ich anschließend über css.
    Die Unterpunkte sollen nur angezeigt werden wenn auch der darüberliegende Menüpunkt aktiviert wurde.

    Beispiel:

    Menüpunkt 1
    Menüpunkt 2 <aktiv>
      - Untermenüpunkt 2.1
      - Untermenüpunkt 2.2
    Menüpunkt 3

    Mit meinem Code funktioniert soweit auch schon ganz gut bis ich eine 3 Ebene einbaue bzw. den Menüpunkt 2.1 anklicke.

    Beispiel:

    Menüpunkt 1
    Menüpunkt 2
      - Untermenüpunkt 2.1 <aktiv>
         - Untermenüpunkt 2.2.1
         - Untermenüpunkt 2.2.2
      - Untermenüpunkt 2.1
    Menüpunkt 3

    Wenn ich den Untermenüpunkt 2.1 anklicke wird nur noch die erste Menüebene angezeigt.

    Mein Problem ist im Moment vermutlich diese Zeile -->

    if (oNode == oSiteMapProvider.CurrentNode &amp;&amp; oNode.HasChildNodes)

    Kann mir jemand einen Lösungsansatz mitteilen?


    public class Navigation
    {
    &nbsp;&nbsp; public static string CreateNavigation(Page myPage) {</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SiteMapProvider oSiteMapProvider = SiteMap.Providers["NavigationProvider"];
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SiteMapNode oSiteMapNode = oSiteMapProvider.RootNode;</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sNavigation = AddChild(oSiteMapProvider, oSiteMapNode, "");</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return sNavigation;
    &nbsp;&nbsp; }</P> <P>&nbsp;&nbsp; public static string AddChild(SiteMapProvider oSiteMapProvider, SiteMapNode oSiteMapNode, String sNavigation)
    &nbsp;&nbsp; {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + "&lt;ul&gt;";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (SiteMapNode oNode in oSiteMapNode.ChildNodes)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + "&lt;li&gt;";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((oNode.Title.Length &gt; 0) &amp;&amp; (oNode.Url.Length &gt; 0))
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + "&lt;a href='" + oNode.Url.ToString() + "'&gt;" + oNode.Title.ToString() + "&lt;/a&gt;";
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + "&lt;/li&gt;";
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (oNode == oSiteMapProvider.CurrentNode &amp;&amp; oNode.HasChildNodes)
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + AddChild(oSiteMapProvider, oNode, "");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sNavigation = sNavigation + "&lt;/ul&gt;";</P> <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return sNavigation.ToString();
    &nbsp;&nbsp; }
    }

    Liebe Grüße Dani

    • IP-Adresse ist Registriert
Seite 1 von 1 (1 Treffer)