一个绑定数据库的动态menu二级菜单,结构如下所示
主菜单1  主菜单2  主菜单3  主菜单4  主菜单5  主菜单6
         子菜单   子菜单   子菜单    子菜单
          子菜单   子菜单   子菜单    子菜单要让没有子菜单的菜单项1,6能点击连接界面。
而有子菜单的2,3,4,5不能点击,只能点击其下的子菜单
请问,这功能怎么是实现呢?

解决方案 »

  1.   

    1.判断是否是主菜单
    2.否,无操作,如果是,则再判断是否有子菜单,没有就可以进行点击,有子菜单,将该主菜单的disabled = 'true'
      

  2.   


    如果用sitemap(网站地图),可以在里面不设置url属性
      

  3.   

    <asp:Menu ID="Main" runat="server" Orientation="Horizontal" Font-Size="12pt"  OnMenuItemClick="Main_MenuItemClick">
                            <Items>
                                <asp:MenuItem Text="1" Value="a">
                                    <asp:MenuItem Text="11" Value="aa"></asp:MenuItem>
                                    <asp:MenuItem Text="12" Value="ab"></asp:MenuItem>
                                    <asp:MenuItem Text="13" Value="ac"></asp:MenuItem>
                                </asp:MenuItem>
                                <asp:MenuItem Text="2" Value="2">
                                    <asp:MenuItem Text="22" Value="aa"></asp:MenuItem>
                                    <asp:MenuItem Text="21" Value="ab"></asp:MenuItem>
                                </asp:MenuItem>
                                .
                                .
                                .
                                <asp:MenuItem Text="N" Value="N">
                                    <asp:MenuItem Text="N1" Value="aa"></asp:MenuItem>
                                    <asp:MenuItem Text="N2" Value="ab"></asp:MenuItem>
                                    <asp:MenuItem Text="N3" Value="ac"></asp:MenuItem>
                                </asp:MenuItem>
    在OnMenuItemClick 写URL连接
      

  4.   

    还是得把代码帖出来
                      Menu DaoHangMenu = new Menu();
                    foreach (DataRow columnRow in ds.Tables["sys_action_column"].Rows)
                    {
                        //创建菜单项
                        MenuItem newMenuItem = new MenuItem(columnRow["action_column_name"].ToString(), columnRow["action_column_id"].ToString());
                        this.DaoHangMenu.Items.Add(newMenuItem);
                        foreach (DataRow actionRow in columnRow.GetChildRows(columnactionRel))
                        {
                            //创建子菜单项
                            MenuItem newChildMenuItem = new MenuItem(actionRow["action_name"].ToString(), actionRow["id"].ToString(), null, "~/Admins/Display.aspx?id=" + actionRow["id"].ToString(), "Iframe");
                            newMenuItem.ChildItems.Add(newChildMenuItem);
                        }
                    }
    第一次循环得到父菜单,第二次循环得到子菜单
    这里面的确有个url项"~/Admins/Display.aspx?id=" + actionRow["id"].ToString()
    但要实现题目的功能,咋写这个url好啊。