<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="_3tierapp.SiteMaster" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Database Driven Dynamic Control</title> <link href="CSS/TableTemplate.css" rel="stylesheet" type="text/css" /> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:Menu ID="menuBar" runat="server" Orientation="Horizontal" Width="100%" CssClass="MenuBar" MaximumDynamicDisplayLevels="10"> <StaticMenuStyle CssClass="StaticMenuItem" /> <StaticMenuItemStyle CssClass="StaticMenuItemStyle" /> <StaticHoverStyle CssClass="StaticHoverStyle" /> <StaticSelectedStyle CssClass="StaticSelectedStyle" /> <DynamicMenuItemStyle CssClass="DynamicMenuItemStyle" /> <DynamicHoverStyle CssClass="DynamicHoverStyle" /> </asp:Menu> </div> <div class="Container"> <asp:ContentPlaceHolder ID="BodyContentPlaceHolder" runat="server"> </asp:ContentPlaceHolder> </div> </form> </body> </html>
protected void Page_Load(object sender, EventArgs e) { GetMenuData(); } private void GetMenuData() { DataTable table = new DataTable(); DataSet ds = new DataSet(); string strCon = System.Configuration.ConfigurationManager.ConnectionStrings ["Employee"].ConnectionString; SqlConnection conn = new SqlConnection(strCon); string sql = "select menu_id, menu_name, menu_parent_id, menu_url from menuMaster"; SqlCommand cmd = new SqlCommand(sql, conn); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(table); DataView view = new DataView(table); view.RowFilter = "menu_parent_id is NULL"; foreach (DataRowView row in view) { MenuItem menuItem = new MenuItem(row["menu_name"].ToString(), row["menu_id"].ToString()); menuItem.NavigateUrl = row["menu_url"].ToString(); menuBar.Items.Add(menuItem); AddChildItems(table, menuItem); } } private void AddChildItems(DataTable table, MenuItem menuItem) { DataView viewItem = new DataView(table); viewItem.RowFilter = "menu_parent_id=" + menuItem.Value; foreach (DataRowView childView in viewItem) { MenuItem childItem = new MenuItem(childView["menu_name"].ToString(), childView["menu_id"].ToString()); childItem.NavigateUrl = childView["menu_url"].ToString(); menuItem.ChildItems.Add(childItem); AddChildItems(table, childItem); } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)