<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MenuList.aspx.cs" Inherits="AdminBeat_Menu_MenuList" %>
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using Model;using BLL;public partial class AdminBeat_Menu_MenuList : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindData(); } } BLLMenu meBLL = new BLLMenu(); private void BindData() { rptMenu.DataSource = meBLL.SelectSonMenu(0); rptMenu.DataBind(); } protected void rptMenu_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rpt = e.Item.FindControl("rptSonMenu") as Repeater;//找到里层的repeater对象 rpt.ItemDataBound+=new RepeaterItemEventHandler(rpt_ItemDataBound); rpt.ItemCommand += new RepeaterCommandEventHandler(rpt_ItemCommand); DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 int ID = Convert.ToInt32(rowv["ID"]); //获取填充子类的id rpt.DataSource = meBLL.SelectSonMenu(ID); rpt.DataBind(); } } protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rptSS = e.Item.FindControl("rptSSonMenu") as Repeater;//找到里层的repeater对象 rptSS.ItemCommand+=new RepeaterCommandEventHandler(rptSS_ItemCommand); DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 int ID = Convert.ToInt32(rowv["ID"]); //获取填充子类的id rptSS.DataSource = meBLL.SelectSonMenu(ID); rptSS.DataBind(); } } protected void rptMenu_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { int ID = Convert.ToInt32(e.CommandArgument.ToString()); DeleteMenu(ID); } } protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { int ID = Convert.ToInt32(e.CommandArgument.ToString()); DeleteMenu(ID); } } protected void rptSS_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { int ID = Convert.ToInt32(e.CommandArgument.ToString()); DeleteMenu(ID); } } private void DeleteMenu(int ID) { if (meBLL.DeleteMenu(ID)) { this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", ""); BindData(); } else { this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", ""); } }}