在数据库的帮助下动态绑定母版页中的菜单 [英] dynamically bind menus in master page with the help of database
本文介绍了在数据库的帮助下动态绑定母版页中的菜单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在数据库的帮助下动态绑定主页中的菜单.请提前帮助我
dynamically bind menus in master page with the help of database.please help me thanks in advance
推荐答案
请检查 ^ ].
请按照以下步骤操作:
从数据库获取菜单数据:
Follow the steps below:
Getting the Menu Data From database:
private DataTable GetMenuData()
{
try
{
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MenuWithCustomPrivs"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("spMenuItem", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserID", "K010");
//K010 : Here I hardcoded the UserID. You can set your session's value UserID
DataTable dtMenuItems = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dtMenuItems);
cmd.Dispose();
sda.Dispose();
return dtMenuItems;
}
}
catch (Exception ex) {
//Show the error massage here
}
return null;
}
添加顶部/父菜单项:
Adding the top/parent menu items:
private void AddTopMenuItems(DataTable menuData)
{
DataView view = null;
try
{
view = new DataView(menuData);
view.RowFilter = "ParentID IS NULL";
foreach (DataRowView row in view)
{
//Adding the menu item
MenuItem newMenuItem = new MenuItem(row["Text"].ToString(), row["MenuID"].ToString());
menuBar.Items.Add(newMenuItem);
AddChildMenuItems(menuData, newMenuItem);
}
}
catch (Exception ex)
{
//Show the error massage here
}
finally {
view = null;
}
}
添加子菜单项:
Adding child menu items:
private void AddChildMenuItems(DataTable menuData, MenuItem parentMenuItem)
{
DataView view = null;
try
{
view = new DataView(menuData);
view.RowFilter = "ParentID=" + parentMenuItem.Value;
foreach (DataRowView row in view)
{
MenuItem newMenuItem = new MenuItem(row["Text"].ToString(), row["MenuID"].ToString());
newMenuItem.NavigateUrl = row["NavigateUrl"].ToString();
parentMenuItem.ChildItems.Add(newMenuItem);
// This code is used to recursively add child menu items filtering by ParentID
AddChildMenuItems(menuData, newMenuItem);
}
}
catch (Exception ex)
{
//Show the error massage here
}
finally
{
view = null;
}
}
希望对您有所帮助.!
--Amit
Hope it helps.!
--Amit
这篇关于在数据库的帮助下动态绑定母版页中的菜单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文