Repeater嵌套绑定Repeater

cs代码:

View Code
1 private void RpTypeBind()
2 { // GetQuestionTypeAndCount() 返回一个datatable
3   this .rptypelist.DataSource = LiftQuestionCtr.GetQuestionTypeAndCount();
4 this .rptypelist.DataBind();
5 }
6   protected void rptypelist_ItemDataBound( object sender, RepeaterItemEventArgs e)
7 {
8
9   // 判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,
10
11 // HeaderTemplate,,ItemTemplate,SeparatorTemplate)
12 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
13 {
14 Repeater rep = e.Item.FindControl( " rpquestionlist " ) as Repeater; // 找到里层的repeater对象
15 DataRowView rowv = (DataRowView)e.Item.DataItem; // 找到分类Repeater关联的数据项
16 int typeid = Convert.ToInt32(rowv[ " qtid " ]); // 获取填充子类的id
17 rep.DataSource = LiftQuestionCtr.GetSomeQuestionsByTypeid(typeid, 2 );
18 rep.DataBind();
19 }
20 }

aspx代码:

View Code
1 < table border ="0" cellpadding ="0" cellspacing ="0" style ="margin-bottom: 5px" width ="100%" >
2 < asp:Repeater runat ="server" ID ="rptypelist" OnItemDataBound ="rptypelist_ItemDataBound" >
3 < ItemTemplate >
4 < tr >
5 < td class ="fb" >
6 < a href ="Lists.aspx?Qtid=<%#Eval(" qtid") % > "> <% # Eval ( " qtypename " ) %> </ a > < span id ="askCount_15" class ="date2" > [ <% # Eval ( " typecount " ) %> ] </ span >
7 </ td >
8 </ tr >
9 < tr >
10 < td >
11 < div id ="askTop2_15" class ="ask_list" >
12 < asp:Repeater runat ="server" ID ="rpquestionlist" >
13 < ItemTemplate >
14 < a href ="Question.aspx?qid=<%#Eval(" liftquestionid")% > "> <% # Eval ( " questiontitle " ) %> </ a >< br />
15 </ ItemTemplate >
16 </ asp:Repeater >
17 </ div >
18 </ td >
19 </ tr >
20 </ ItemTemplate >
21 </ asp:Repeater >
22 </ table >

你可能感兴趣的:(绑定)