ASP.NET Repeater嵌套Repeater实现菜单加载

来源:互联网 发布:手机淘宝上怎么交电费 编辑:程序博客网 时间:2024/06/05 05:42

            在KS系统中要实现从数据库中读取界面权限文件实现菜单、界面的动态加载。

            效果图:

                

            ASP.NET界面代码

 

           

   <div id="menu-container">                <asp:Repeater ID="rpMenu" runat="server" onitemdatabound="rpMenu_ItemDataBound">                  <ItemTemplate>                    <div class="menu-tit" id="MenuName">                        <asp:HiddenField ID="hfMenuID" runat="server"  Value='<%#Eval("Id") %>' />                        <%#Eval("MenuName") %></div>                        <div class="menu-list">                             <div class="top-line">                         </div>                                <ul class="nav-items">                          <asp:Repeater ID="rpWindows" runat="server">                             <ItemTemplate>                                <li><a href='<%#Eval("WindowsURL") %>' target="content" id="WindwosName"><%#Eval("WindowsName") %></a></li>                              </ItemTemplate>                           </asp:Repeater>                        </ul>                      </div>                                          </ItemTemplate>                </asp:Repeater>            </div>

 

            C#界面后台代码

 public partial class AdmWelcom : System.Web.UI.Page    {             protected void Page_Load(object sender, EventArgs e)        {                string strLike="";            DataBindMenu(strLike);        }        public void DataBindMenu(string strLike)        {            DataTable dtMenu= new DataTable();              AdmMenuManager admMenuManager = new AdmMenuManager();            //查询菜单            dtMenu = admMenuManager.QueryMenu(strLike);            rpMenu.DataSource =dtMenu;            rpMenu.DataBind();            }        protected void rpMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)        {            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)            {                Repeater rpWindows = e.Item.FindControl("rpWindows") as Repeater;                HiddenField hfMenuID=e.Item .FindControl ("hfMenuID") as HiddenField;                DataTable dt = new DataTable();                string strLike = "";                BLL.AdmMenuManager admMenuManager = new AdmMenuManager();                string strMenuID = hfMenuID.Value.ToString().Trim() ;                strLike = " TR_MenuWindows.MenuID='" + strMenuID + "'";               //查询界面下的窗体                dt = admMenuManager.QueryMenuWindows(strLike);                 rpWindows.DataSource = dt;                rpWindows.DataBind();                         }        }    }


 

原创粉丝点击