前台代码:
<table cellpadding="0" cellspacing="0" border="0">
<asp:Repeater ID="rpt_menu1" runat="server" OnItemDataBound="rpt_menu1_ItemDataBound">
<ItemTemplate>
<tr>
<td>
<input type="checkbox" id='cbx1_menu<%#Eval("id") %>' value='<%#Eval("id") %>' tag="cbx1_menu" />
</td>
<td>
<asp:Label ID='menu1_name' runat="server" Text='<%#Eval("菜单名") %>'></asp:Label>
</td>
</tr>
<tr id='rpt1_menu<%#Eval("id") %>' style="display: none;">
<td colspan="2">
<table cellpadding="0" cellspacing="0" border="0">
<asp:Repeater ID="rpt_menu2" runat="server">
<ItemTemplate>
<tr>
<td style="width: 50px;">
</td>
<td>
<input type="checkbox" id='cbx2_menu<%#Eval("id") %>' value='<%#Eval("id") %>' tag="cbx2_menu" />
</td>
<td>
<asp:Label ID='menu1_name' runat="server" Text='<%#Eval("菜单名") %>'></asp:Label>
</td>
</tr>
<tr id='rpt2_menu<%#Eval("id") %>' style="display: none;">
<td colspan="3">
<table cellpadding="0" cellspacing="0" border="0">
<asp:Repeater ID="rpt_menu3" runat="server">
<ItemTemplate>
<tr>
<td style="width: 100px;">
</td>
<td>
<input type="checkbox" id='cbx3_menu<%#Eval("id") %>' value='<%#Eval("id") %>' />
</td>
<td>
<asp:Label ID='menu1_name' runat="server" Text='<%#Eval("菜单名") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Getmenu();
}
protected void Getmenu()
{
string sql = "select * from sys_menu where 进入角色='0' and 父ID=0";
DM dm = new DM();
DataSet ds = dm.getsql(sql);
this.rpt_menu1.DataSource = ds;
this.rpt_menu1.DataBind();
}
protected void rpt_menu1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpt_menu2 = (Repeater)e.Item.FindControl("rpt_menu2");
rpt_menu2.ItemDataBound += new RepeaterItemEventHandler(rpt_menu2_ItemDataBound);
DataRowView drv = (DataRowView)e.Item.DataItem;
string Menu_ID = drv["id"].ToString();
DM dm = new DM();
DataSet ds = dm.getsql("select * from sys_menu where 进入角色='0' and 父ID=" + Menu_ID);
rpt_menu2.DataSource = ds;
rpt_menu2.DataBind();
}
}
protected void rpt_menu2_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpt_menu3 = (Repeater)e.Item.FindControl("rpt_menu3");
DataRowView drv = (DataRowView)e.Item.DataItem;
string Menu_ID = drv["id"].ToString();
DM dm = new DM();
DataSet ds = dm.getsql("select * from sys_menu where 进入角色='0' and 父ID=" + Menu_ID);
rpt_menu3.DataSource = ds;
rpt_menu3.DataBind();
}
}