呵呵,好久没写了,继续上问题,以后我写的都是我遇到的问题以及群里相关人士的问题,比较棘手的贴在这里(顺便打个广告群号115180614,.net技术群,混群的勿扰,群主江湖,就说老男孩介绍就行了。)。

<asp:Repeater ID="rpOrderInfo" runat="server" OnItemDataBound="rpOrderInfo_ItemDataBound">
<ItemTemplate>
<%# Eval("Name")%>------
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label runat="server" ID="lblRe2" Text='<%# Eval("ID")%>'></asp:Label> </ItemTemplate>
</asp:Repeater>
<br />
</ItemTemplate>
</asp:Repeater>
<ItemTemplate>
<%# Eval("Name")%>------
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label runat="server" ID="lblRe2" Text='<%# Eval("ID")%>'></asp:Label> </ItemTemplate>
</asp:Repeater>
<br />
</ItemTemplate>
</asp:Repeater>

1 protected void Page_Load(object sender, EventArgs e)
2 {
3 if (!IsPostBack)
4 {
5 //下面代码就是生成一个DataTable 绑定到外层(第一层)Repeater
6 DataTable dt = new DataTable();
7 dt.Columns.Add("ID", typeof(string));
8 dt.Columns.Add("Name", typeof(string));
9 for (int i = 0; i < 10; i++)
10 {
11 DataRow dr = dt.NewRow();
12 dr["ID"] = i.ToString();
13 dr["Name"] = "小天"+i.ToString();
14 dt.Rows.Add(dr);
15 }
16 rpOrderInfo.DataSource = dt;
17 rpOrderInfo.DataBind();
18
19
20 }
21 }
22
23 protected void rpOrderInfo_ItemDataBound(object sender, RepeaterItemEventArgs e)
24 {
25 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
26 {
27 //外层(第一次)DataBound的时候 找到内层(第二层),给内层绑定数据。
28 Repeater Repeater1 = (Repeater)e.Item.FindControl("Repeater1");
29 DataTable dt = new DataTable();
30 dt.Columns.Add("ID", typeof(string));
31 for (int i = 0; i < 10; i++)
32 {
33 DataRow dr = dt.NewRow();
34 dr["ID"] = i.ToString();
35 dt.Rows.Add(dr);
36 }
37 Repeater1.DataSource = dt;
38 Repeater1.DataBind();
39 //这里是遍历内层,item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem 这句话shiite关键,发现没有,跟外层的rpOrderInfo_ItemDataBound
40 //是不是相似,其实就是ItemDataBound 事件,这不过这里是手写的。
41 foreach (RepeaterItem item in Repeater1.Items)
42 {
43 if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
44 {
45 Label lbl = item.FindControl("lblRe2") as Label;
46 if (lbl != null && lbl.Text == "2")
47 {
48 lbl.Text = "Red";
49 }
50 }
51 }
52 }
53 }
2 {
3 if (!IsPostBack)
4 {
5 //下面代码就是生成一个DataTable 绑定到外层(第一层)Repeater
6 DataTable dt = new DataTable();
7 dt.Columns.Add("ID", typeof(string));
8 dt.Columns.Add("Name", typeof(string));
9 for (int i = 0; i < 10; i++)
10 {
11 DataRow dr = dt.NewRow();
12 dr["ID"] = i.ToString();
13 dr["Name"] = "小天"+i.ToString();
14 dt.Rows.Add(dr);
15 }
16 rpOrderInfo.DataSource = dt;
17 rpOrderInfo.DataBind();
18
19
20 }
21 }
22
23 protected void rpOrderInfo_ItemDataBound(object sender, RepeaterItemEventArgs e)
24 {
25 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
26 {
27 //外层(第一次)DataBound的时候 找到内层(第二层),给内层绑定数据。
28 Repeater Repeater1 = (Repeater)e.Item.FindControl("Repeater1");
29 DataTable dt = new DataTable();
30 dt.Columns.Add("ID", typeof(string));
31 for (int i = 0; i < 10; i++)
32 {
33 DataRow dr = dt.NewRow();
34 dr["ID"] = i.ToString();
35 dt.Rows.Add(dr);
36 }
37 Repeater1.DataSource = dt;
38 Repeater1.DataBind();
39 //这里是遍历内层,item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem 这句话shiite关键,发现没有,跟外层的rpOrderInfo_ItemDataBound
40 //是不是相似,其实就是ItemDataBound 事件,这不过这里是手写的。
41 foreach (RepeaterItem item in Repeater1.Items)
42 {
43 if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
44 {
45 Label lbl = item.FindControl("lblRe2") as Label;
46 if (lbl != null && lbl.Text == "2")
47 {
48 lbl.Text = "Red";
49 }
50 }
51 }
52 }
53 }
呵呵,有啥问题,欢迎来群里探讨,欢迎各位大神指导。。。