求解菜单的问题
用ASP.NET开发了一个网站,其中用到了微软提供的菜单控件,但是在使用我们发现一个一级菜单不能包括3个有子节点的2级菜单,否则点击第3个有子节点的菜单系统没有反应,请问这个问题如何解决?不用第三方控件.
以下是动态创建菜单的原码:
public void CreateMenu(string MsId, MenuItem Nds)
{
DataView dv = new DataView();
string intId;
dv.Table = ds.Tables["MKstaffMenu"];
dv.RowFilter = "MasterMenuID=" + "'" + MsId + "'";
foreach (DataRowView drv in dv)
{
MenuItem tmpNd = new MenuItem(drv["menuname"].ToString(), drv["menu"].ToString());
Nds.ChildItems.Add(tmpNd);
intId = drv["MenuID"].ToString();
CreateMenu(intId, tmpNd);
}
}
//创建根节点
public void CreateMenu1()
{
DataView dv = new DataView();
dv.Table = ds.Tables["MKstaffMenu"];
dv.RowFilter = "MasterMenuID='0'";
foreach (DataRowView drv in dv)
{
MenuItem tmpNd = new MenuItem(drv["menuname"].ToString(), drv["menuid"].ToString());
tvMenu.Items.Add(tmpNd);
CreateMenu(drv["menuid"].ToString(), tmpNd);
}
}
以下是程序调用代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MenuClass MyMenu = new MenuClass();
MyMenu.CreateDataSet(Session["UserId"].ToString());
MyMenu.tvMenu = Menu1;
MyMenu.CreateMenu1();
}
}