1
<asp:Repeater ID="repeaterParent" runat="server" OnItemDataBound="repeaterParent_ItemDataBound">
2
<ItemTemplate>
3
<!---------------------------------------------------------------------------------------->
4
<table width="186" border="1" class="MenuTB">
5
<tr>
6
<th style="cursor:pointer;">
7
<img src="images/comments.gif" / alt=""><%
#Eval("MenuText") %>
8
</th>
9
</tr>
10
<tr style="display:none">
11
<td>
12
<ul>
13
<asp:Repeater ID="repeaterMinMenu" runat="server">
14
<ItemTemplate>
15
<li>
16
<a href="<%#Eval("MenuLink") %>" target="frmContent"><%
#Eval("MenuText") %></a></li>
17
</ItemTemplate>
18
</asp:Repeater>
19
</ul>
20
</td>
21
</tr>
22
</table>
23
<!----------------------------------------------------------------------------------------->
24
</ItemTemplate>
25
</asp:Repeater>

2

3

4

5

6

7



8

9

10

11

12

13

14

15

16



17

18

19

20

21

22

23

24

25

C#:
1
protected void BindParentRepeaterData()//绑定父repeater数据
2
{
3
string SqlGetParentMenu = @"SELECT MenuId,MenuText FROM website_Menu WHERE ParentId IS NULL OR ParentId=0";
4
5
DataTable dtGetParentMenu = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, SqlGetParentMenu).Tables[0];
6
7
repeaterParent.DataSource = dtGetParentMenu;
8
9
repeaterParent.DataBind();
10
}
11
12
13
protected void repeaterParent_ItemDataBound(object sender, RepeaterItemEventArgs e)
14
{
15
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
16
{
17
int MenuId = Convert.ToInt32(((DataRowView)e.Item.DataItem).Row["MenuId"]);
18
19
Repeater repeaterMinMenu = (Repeater)e.Item.FindControl("repeaterMinMenu");
20
21
if (repeaterMinMenu != null)
22
{
23
string SqlGetMinMenu = string.Format(@"SELECT A.MenuId,A.ParentId,A.MenuText,A.MenuLink FROM dbo.website_Menu A
24
INNER JOIN dbo.website_RolesMenu B
25
ON A.MenuId = B.MenuId AND A.ParentId = {0}
26
INNER JOIN dbo.User_UsersRoles C
27
ON B.RoleId = C.RoleId AND C.UserId = {1}
28
GROUP BY A.MenuId,A.ParentId,A.MenuText,A.MenuLink ",MenuId,Kuqu.Components.Tickets.UserInfo.Id);
29
30
DataTable dtGetMinMenu = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, SqlGetMinMenu).Tables[0];
31
32
repeaterMinMenu.DataSource = dtGetMinMenu;
33
34
repeaterMinMenu.DataBind();
35
}
36
}
37
}

2



3

4

5

6

7

8

9

10

11

12

13

14



15

16



17

18

19

20

21

22



23

24

25

26

27

28

29

30

31

32

33

34

35

36

37
