1
<
asp:Repeater
ID
="CategoryDetails"
runat
="server"
EnableViewState
="false"
>
2 < ItemTemplate >
3 < li <asp:Literal ID ="NowSubMenuClass" runat ="server" Text =" class='' " ></ asp:Literal > >
4 < a href ="<%# Eval(" URL")% > "> <% # Eval("MenuName") %> </ a >
5 </ li >
6 </ ItemTemplate >
7 </ asp:Repeater >
2 < ItemTemplate >
3 < li <asp:Literal ID ="NowSubMenuClass" runat ="server" Text =" class='' " ></ asp:Literal > >
4 < a href ="<%# Eval(" URL")% > "> <% # Eval("MenuName") %> </ a >
5 </ li >
6 </ ItemTemplate >
7 </ asp:Repeater >
后台事件:
1
2
3 public partial class Control_SubMenu : System.Web.UI.UserControl
4 {
5 Permaisuri.Sale.BLL.Menu bll = new Permaisuri.Sale.BLL.Menu();
6 Permaisuri.Sale.Model.MenuInfo find = new MenuInfo();
7 protected void Page_Load(object sender, EventArgs e)
8 {
9
10 string PID = Request.QueryString["PID"].ToString();
11 Int64 iPID = Int64.Parse(PID);
12
13 Permaisuri.Sale.Model.MenuInfo pModel = bll.Load(iPID);
14
15 CategoryTitle.Text = "<a href=\"" + pModel.URL + "\">" + pModel.MenuName + "</a>";
16
17 find.SetCSNull();
18 find.ParentID = iPID;
19
20 List<Permaisuri.Sale.Model.MenuInfo> Menu1 = new List<MenuInfo>();
21
22 Menu1 = bll.ListEx(find, "OrderIndex");
23
24 CategoryDetails.DataSource = Menu1;
25 CategoryDetails.DataBind();
26
27
28
29 }
30
31
32 protected void CategoryDetails_ItemDataBound(object sender, RepeaterItemEventArgs e)
33 {
34
35 if (e.Item.ItemType == ListItemType.Item)
36 {
37 Permaisuri.Sale.Model.MenuInfo ss = (Permaisuri.Sale.Model.MenuInfo)e.Item.DataItem;
38 Int64 SubMenuID = ss.MenuID;
39 Literal NowSubMenu = (Literal)e.Item.FindControl("NowSubMenuClass");
40 //判断是否为当前子菜单
41 if (IsNowSubMenu(SubMenuID))
42 {
43 NowSubMenu.Text = " class='nowsubmenu' ";
44
45 }
46
47 }
48
49 }
50
51 private bool IsNowSubMenu(Int64 NowCID)
52 {
53 string CID = Request.QueryString["CID"];
54 if (!(CID == "" || CID == null))
55 {
56 if (Int64.Parse(CID) == NowCID)
57 {
58 return true;
59 }
60 }
61 return false;
62 }
63
64
65}
2
3 public partial class Control_SubMenu : System.Web.UI.UserControl
4 {
5 Permaisuri.Sale.BLL.Menu bll = new Permaisuri.Sale.BLL.Menu();
6 Permaisuri.Sale.Model.MenuInfo find = new MenuInfo();
7 protected void Page_Load(object sender, EventArgs e)
8 {
9
10 string PID = Request.QueryString["PID"].ToString();
11 Int64 iPID = Int64.Parse(PID);
12
13 Permaisuri.Sale.Model.MenuInfo pModel = bll.Load(iPID);
14
15 CategoryTitle.Text = "<a href=\"" + pModel.URL + "\">" + pModel.MenuName + "</a>";
16
17 find.SetCSNull();
18 find.ParentID = iPID;
19
20 List<Permaisuri.Sale.Model.MenuInfo> Menu1 = new List<MenuInfo>();
21
22 Menu1 = bll.ListEx(find, "OrderIndex");
23
24 CategoryDetails.DataSource = Menu1;
25 CategoryDetails.DataBind();
26
27
28
29 }
30
31
32 protected void CategoryDetails_ItemDataBound(object sender, RepeaterItemEventArgs e)
33 {
34
35 if (e.Item.ItemType == ListItemType.Item)
36 {
37 Permaisuri.Sale.Model.MenuInfo ss = (Permaisuri.Sale.Model.MenuInfo)e.Item.DataItem;
38 Int64 SubMenuID = ss.MenuID;
39 Literal NowSubMenu = (Literal)e.Item.FindControl("NowSubMenuClass");
40 //判断是否为当前子菜单
41 if (IsNowSubMenu(SubMenuID))
42 {
43 NowSubMenu.Text = " class='nowsubmenu' ";
44
45 }
46
47 }
48
49 }
50
51 private bool IsNowSubMenu(Int64 NowCID)
52 {
53 string CID = Request.QueryString["CID"];
54 if (!(CID == "" || CID == null))
55 {
56 if (Int64.Parse(CID) == NowCID)
57 {
58 return true;
59 }
60 }
61 return false;
62 }
63
64
65}
出错:ItemDataBound事件中
根据获取的 Request.QueryString["CID"]值是否为当前绑定的MenuID,进行比较。相等则设置ID为 NowSubMenuClass的 Literal的Text值为当前菜单的class名称.
但运行时,没有效果。
是哪里的问题呢?在线等