Posts tagged: asp.net menu control

Sep 30 2009

Dynamically create asp.net menu control using C#

Step1: click below link to view Category table and Subcategory table in sqlserver

Link to Category table and Subcategory table click here


Step2: Drag Menu control from toolbox

<asp:Menu ID=”Menu1″ runat=”server” Orientation=”Horizontal”>

</asp:Menu>

Step3: Write below code in Default.aspx.cs (Page Load event)

using System.Data;

using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

string ConnectionString = “Data Source=192.168.1.23;Initial Catalog=Purchase;User id=sa;Password=abc”;

SqlConnection objConn = new SqlConnection(ConnectionString);

string query = “select CategoryID,CategoryName from tblCategory”;

SqlCommand objCmd = new SqlCommand(query, objConn);

DataSet objDs = new DataSet();

DataSet objDsChild = new DataSet();

SqlDataAdapter objDa = new SqlDataAdapter(objCmd);

objConn.Open();

objDa.Fill(objDs);

int count = objDs.Tables[0].Rows.Count – 1;

for (int i = 0; i < count; i++)

{

string catname = objDs.Tables[0].Rows[i]["CategoryName"].ToString();

int catID = int.Parse(objDs.Tables[0].Rows[i]["CategoryID"].ToString());

//Menu1.Items[i].Text = “dddd”;

MenuItem CatItem = new MenuItem();

CatItem.Text = catname;

CatItem.Value = catID.ToString();

CatItem.NavigateUrl = “http://msdn.microsoft.com/en-us/library/default.aspx”;

Menu1.Items.Add(CatItem);

//Remember below line this line of code will clear SubCategory previous data

//in loop

objDsChild.Clear();

//ChildItems i.e SubCategory items

string query2 = “select categoryID,SubCategoryID,SubCategory from tblSubCategory where CategoryID=” + catID;

SqlCommand objCmd2 = new SqlCommand(query2, objConn);

objCmd.Parameters.Add(”CategoryID”, SqlDbType.Int).Value = catID;

SqlDataAdapter objDaChild = new SqlDataAdapter(objCmd2);

objDaChild.Fill(objDsChild);

int ChildCount = objDsChild.Tables[0].Rows.Count – 1;

for (int j = 0; j <= ChildCount; j++)

{

//int catChildID = int.Parse(objDsChild.Tables[0].Rows[j]["CategoryID"].ToString());

//if (catID == catChildID)

//{

MenuItem SubcatItem = new MenuItem();

SubcatItem.Text = objDsChild.Tables[0].Rows[j]["SubCategory"].ToString();

SubcatItem.Value = objDsChild.Tables[0].Rows[j]["SubCategory"].ToString();

SubcatItem.NavigateUrl = “http://www.google.com”;

//Instead of passing NavigateUrl (http://www.google.com) add

//new column in Subcategory table

//column name Url

//subcatItem.NavigateUrl=objDsChild.Tables[0].Rows[j]["Url"].ToString();

CatItem.ChildItems.Add(SubcatItem);

//}

}

}

objConn.Close();

}

}

Step4: Adding Styles to Menu control

<asp:Menu ID=”Menu1″ runat=”server” Orientation=”Horizontal”>

<StaticMenuStyle BackColor=”#993300″ BorderColor=”Black” BorderStyle=”Solid” BorderWidth=”2px” />

StaticMenuItemStyle BackColor=”#FFFF99″ Font-Names=”Verdana” Font-Size=”9pt” HorizontalPadding=”2px” ItemSpacing=”4px” VerticalPadding=”2px” />

<DynamicHoverStyle BackColor=”#FF9933″

Font-Names=”Tw Cen MT Condensed Extra Bold” ForeColor=”White” />

<DynamicMenuItemStyle BackColor=”#E8EFFF” ForeColor=”#663300″ />

<StaticHoverStyle BackColor=”#FF9933″ Font-Names=”Verdana” Font-Size=”9pt” ForeColor=”White” />

</asp:Menu>

Happy coding…

Sep 30 2009

asp.net menu control example

Asp.net menu control display menus both statically and dynamically for asp.net pages. It makes navigation easy for asp.net pages.

The content of the Asp.net Menu control can configure directly in the control or using database data source.

Syntax of asp.net menu control

<asp:Menu runat=”server” ></asp:Menu>

Properties of Asp.net Menu Control

Orientation: menu control should be render horizontal or vertical direction

Ex: Orientation=”Horizontal”

StaticMenu: The style of the static part of the menu

<StaticMenuStyle BackColor=”#993300″ BorderColor=”Black” BorderStyle=”Solid” BorderWidth=”2px” />

StaticMenuItemStyle: style of the menu items that are in the static part of the menu control. It changes font-color,font-family,padding etc… of the menu control items.

<StaticMenuItemStyle BackColor=”#FFFF99″ Font-Names=”Verdana” Font-Size=”9pt” HorizontalPadding=”2px” ItemSpacing=”4px” VerticalPadding=”2px” />

StaticHoverStyle: The style that changes when mouse hovers over the part of the menu items.

<StaticHoverStyle BackColor=”#FF9933″ Font-Names=”Verdana” Font-Size=”9pt” ForeColor=”White” />

DynamicMenuItemStyle: The style of the menu items that are in the dynamic part of menu sub items

For SubItems style changing use DynamicMenuItemStyle property in menu control

<DynamicMenuItemStyle BackColor=”#E8EFFF” ForeColor=”#663300″ />

DynamicHoverStyle: The style that changes when mouse hovers over the part of the dynamic menu items.

<DynamicHoverStyle BackColor=”#FF9

Font-Names=”Tw Cen MT Condensed Extra Bold” ForeColor=”White” />

Adding Menu Items to asp.net Menu Control

DesignView: Drag asp.net Menu control from toolbox – select menu control then click (< ) menu task – Edit Emnu items – Menu Item editor displays – In menu item editor contain two type of icons

Add a root Item

Add a Child Item

Click add a root item – then new icon with selected – go to properties change Text(Asp.net) and add navigateUrl

To add child Items to Asp.net root item – select Asp.net in menu control tasks – then click Add a child Item – then add CSharp and VB.Net

<Items>

<asp:MenuItem Text=”Asp.net” Value=”Asp.net”>

<asp:MenuItem Text=”CSharp” Value=”CSharp”></asp:MenuItem>

<asp:MenuItem Text=”VB.Net” Value=”VB.Net”></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text=”Java” Value=”Java”>

<asp:MenuItem Text=”JDK” Value=”JDK”></asp:MenuItem>

<asp:MenuItem Text=”J2EE” Value=”J2EE”></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text=”Database” Value=”Database”>

<asp:MenuItem Text=”Oracle” Value=”Oracle”></asp:MenuItem>

<asp:MenuItem Text=”SqlServer” Value=”SqlServer”></asp:MenuItem>

</asp:MenuItem>

</Items>

Comlete source code with styles and menuitems of asp.net menu control

<asp:Menu ID=”Menu1″ runat=”server” Orientation=”Horizontal”>

<StaticMenuStyle BackColor=”#993300″ BorderColor=”Black” BorderStyle=”Solid” BorderWidth=”2px” />

<StaticMenuItemStyle BackColor=”#FFFF99″ Font-Names=”Verdana” Font-Size=”9pt” HorizontalPadding=”2px” ItemSpacing=”4px” VerticalPadding=”2px” />

<DynamicHoverStyle BackColor=”#FF9933″

Font-Names=”Tw Cen MT Condensed Extra Bold” ForeColor=”White” />

<DynamicMenuItemStyle BackColor=”#E8EFFF” ForeColor=”#663300″ />

<StaticHoverStyle BackColor=”#FF9933″ Font-Names=”Verdana” Font-Size=”9pt” ForeColor=”White” />

<Items>

<asp:MenuItem Text=”Asp.net” Value=”Asp.net”>

<asp:MenuItem Text=”CSharp” Value=”CSharp”></asp:MenuItem>

<asp:MenuItem Text=”VB.Net” Value=”VB.Net”></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text=”Java” Value=”Java”>

<asp:MenuItem Text=”JDK” Value=”JDK”></asp:MenuItem>

<asp:MenuItem Text=”J2EE” Value=”J2EE”></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text=”Database” Value=”Database”>

<asp:MenuItem Text=”Oracle” Value=”Oracle”></asp:MenuItem>

<asp:MenuItem Text=”SqlServer” Value=”SqlServer”></asp:MenuItem>

</asp:MenuItem>

</Items>

</asp:Menu>

Alibi3col theme by Themocracy