我有一个ASP.NET
菜单控件,我使用XmlDataSource
绑定到XPath
。
现在,菜单结构就像,
这很奇怪但Menu_MenuItemClick
事件仅针对menuItem1下的SubItems而不是针对其他MenuItems下的SubItems触发。
任何想法?
答案 0 :(得分:1)
查看下面的代码,它将帮助您使用xml文件绑定菜单控件,
private void CreateMenuWithXmlFile()
{
string path = @"C:\MyXmlFile.xml";
DataSet ds = new DataSet();
ds.ReadXml(path);
Menu menu = new Menu();
menu.MenuItemClick += new MenuEventHandler(menu_MenuItemClick);
for (int i = 0; i < ds.Tables.Count; i++)
{
MenuItem parentItem = new MenuItem((string)ds.Tables[i].TableName);
menu.Items.Add(parentItem);
for (int c = 0; c < ds.Tables[i].Columns.Count; c++)
{
MenuItem column = new MenuItem((string)ds.Tables[i].Columns[c].ColumnName);
menu.Items.Add(column);
for (int r = 0; r < ds.Tables[i].Rows.Count; r++)
{
MenuItem row = new MenuItem((string)ds.Tables[i].Rows[r][c].ToString());
parentItem.ChildItems.Add(row);
}
}
}
Panel1.Controls.Add(menu);
Panel1.DataBind();
}