在asp.net中,怎样创建动态的折叠菜单。前提是使用accordion控件。
我的意思是使用accordion控件,然后根据它动态的创建一个accordionpanel。

解决方案 »

  1.   

    你一般都是通过动态生成 JS/Html 代码来实现的,具体到菜单的显示一般都是通过 JS来实现的
      

  2.   

    楼上的给代码。我要代码。我不要js代码。我要asp.net页面后台代码。谢谢
      

  3.   


       <cc1:Accordion ID="Accordion1" runat="server" HeaderCssClass="accordionHeader" ContentCssClass="accordionContent" FadeTransitions="true" >
                <Panes>            </Panes>
     </cc1:Accordion>2:后台的代码    /// <summary>
        /// 绑定滑动菜单
        /// </summary>
        private void acc1Bind() 
        {
            //获取第一层目录
            List<Tucue.ShopModel.GoodsType> li1 = GetMenu("0");
            //循环第一层目录
            foreach (Tucue.ShopModel.GoodsType goodtype in li1)
            {            #region//绑定搜索下拉列表
                ListItem lvi = new ListItem();
                lvi.Text = goodtype.TypeName;
                lvi.Value = goodtype.Cid;
                ddlShopType.Items.Add(lvi);
                #endregion            AjaxControlToolkit.AccordionPane ap1 = new AjaxControlToolkit.AccordionPane();
                System.Web.UI.WebControls.HyperLink lblParatMenu = new System.Web.UI.WebControls.HyperLink();
                lblParatMenu.Text =""+ goodtype.TypeName;
                lblParatMenu.Font.Bold = false;
                //lblParatMenu.ForeColor = Color.White;
                //给滑动菜单添加标题
                ap1.HeaderContainer.Controls.Add(lblParatMenu);
                //设定标题ID
                ap1.HeaderContainer.ID = goodtype.Cid.ToString();
                //根据第一层目录ID获取第二层目录
                List<Tucue.ShopModel.GoodsType> li2 = GetMenu(goodtype.Cid);
                
                //循环第二层目录
                foreach (Tucue.ShopModel.GoodsType goodtype2 in li2) 
                {                //添加第二层目录
                    System.Web.UI.WebControls.HyperLink lblParatMenu2 = new System.Web.UI.WebControls.HyperLink();
                    lblParatMenu2.Text =" "+ goodtype2.TypeName+"<p>";
                    System.Web.UI.WebControls.Image img1 = new System.Web.UI.WebControls.Image();
                    if (lbltypeId.Text == null||lbltypeId.Text.Equals(""))
                    {
                        img1.ImageUrl = "images/134-1.gif";
                    }
                    else 
                    {
                        if (goodtype2.Cid.Equals(lbltypeId.Text))
                        {
                            img1.ImageUrl = "images/134.gif";
                        }
                        else 
                        {
                            img1.ImageUrl = "images/134-1.gif";
                        }
                    }
                   
                   // lblParatMenu2.ForeColor = "#0066FF";
                    lblParatMenu2.ForeColor=Color.FromName("#2d63cf");
                    lblParatMenu2.NavigateUrl = "Default.aspx?type="+goodtype2.Cid.ToString();
                    ap1.ContentContainer.Controls.Add(img1);
                    ap1.ContentContainer.Controls.Add(lblParatMenu2);
                    ap1.ContentContainer.ID = goodtype2.Cid.ToString();
                }
                //将目录内容添加到Accordion控件中
                Accordion1.Panes.Add(ap1);
            }
        }