Ich muss dynamische Menüs aus der Datenbank erstellen. Ich habe das folgende Beispiel verwendet, das nur die übergeordneten Menüs anzeigt, aber das untergeordnete Menü nicht anzeigt. http://www.dotnetfunda.com/articles/article1477-how-to-create-a-menu-in-aspnet-using-aspmenu-control.aspxMenüs in Asp.net programmatisch generieren C# web form
-Code-Schnipsel i
bin mit<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" >
// I am convert ds to table for now.
DataTable table = dsMenu.Tables[0]; ;
DataView dvMenu = new DataView(table);
dvMenu.RowFilter = "PageInheritance is NULL";
foreach (DataRowView row in dvMenu)
{
MenuItem menuItem = new MenuItem(row["PageName"].ToString(), row["PageId"].ToString());
menuItem.NavigateUrl = row["PageURL"].ToString() + "?PageId=" + row["PageId"] + "&Language=" + sLangCode;
Menu1.Items.Add(menuItem);
AddChildItems(dvMenu.Table, menuItem);
}
//Function to look for child menu
private static void AddChildItems(DataTable table, MenuItem menuItem)
{
DataView viewItem = new DataView(table);
viewItem.RowFilter = "PageInheritance = " + menuItem.Value;
foreach (DataRowView childView in viewItem)
{
MenuItem childItem = new MenuItem(childView["PageName"].ToString(),
childView["PageId"].ToString());
childItem.NavigateUrl = childView["PageURL"].ToString();
menuItem.ChildItems.Add(childItem);
AddChildItems(table, childItem);
}
}
Ich bin nicht sicher, was ich falsch mache. Basierend auf meiner Datenbank sollte es mir Kindermenüs für die Zeile xyz anzeigen. Wenn die AddChildItems-Funktion für die Match-Child-Zeile aufgerufen wird, kann sie nur die Schleife durchlaufen und zeigt nichts aus den Child-Zeilen.
OUTPUT mit aktuellem Code
HOME | Seite2 | Seite3 | Seite4
Es sollte mir Untermenüs für die Seite2 basierend auf meiner Datenbank anzeigen. Stattdessen werden nur die Links der übergeordneten Seite angezeigt.
Es wäre toll, wenn jemand kann mir sagen, was mit dem obigen Code falsch ist .. – Learning
Sie sehen vorherige beantwortet http://stackoverflow.com/questions/3623818/creating-menus- dynamisch-im-Web-Anwendung/10225825 – Moiz