ASP菜单控件';s单击事件未启动

本文关键字:单击 事件 启动 菜单 控件 ASP | 更新日期: 2023-09-27 18:00:51

我有一个ASP.NET菜单控件,我使用XPath将其绑定到XmlDataSource。现在,菜单结构就像

  • MenuItem1-MenuSubItem1,MenuSubItems2
  • MenuItem2-MenuSubItem1,MenuSubItems2

奇怪的是,Menu_MenuItemClick事件只针对menuItem1下的SubItems而不针对其他MenuItems下的SubItems。

有什么想法吗?

ASP菜单控件';s单击事件未启动

查看下面的代码,它将帮助您使用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();
 }