大家好,又见面了,我是你们的朋友全栈君。
Repeater嵌套Repeater的结构:
cs代码:
Code private void RpTypeBind() { // GetQuestionTypeAndCount() 返回一个datatable this .rptypelist.DataSource = LiftQuestionCtr.GetQuestionTypeAndCount(); this .rptypelist.DataBind(); }
protected void rptypelist_ItemDataBound( object sender, RepeaterItemEventArgs e) { // 判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate, // HeaderTemplate,,ItemTemplate,SeparatorTemplate) if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rep = e.Item.FindControl( “ rpquestionlist “ ) as Repeater; // 找到里层的repeater对象 DataRowView rowv = (DataRowView)e.Item.DataItem; // 找到分类Repeater关联的数据项 int typeid = Convert.ToInt32(rowv[ “ qtid “ ]); // 获取填充子类的id rep.DataSource = LiftQuestionCtr.GetSomeQuestionsByTypeid(typeid, 2 ); rep.DataBind(); } }
aspx:
table border = “ 0 “ cellpadding = “ 0 “ cellspacing = “ 0 “ style = “ margin-bottom: 5px “ width = “ 100% “ > < asp:Repeater runat = “ server “ ID = “ rptypelist “ OnItemDataBound = “ rptypelist_ItemDataBound “ > < ItemTemplate > < tr > < td class = “ fb “ > & nbsp; & nbsp; < a href = “ Lists.aspx?Qtid=<%#Eval( “ qtid “ ) %> “ ><% #Eval( “ qtypename “ ) %></ a > < span id = “ askCount_15 “ class = “ date2 “ > [ <% #Eval( “ typecount “ ) %> ] </ span > </ td > </ tr > < tr > < td > < div id = “ askTop2_15 “ class = “ ask_list “ > < asp:Repeater runat = “ server “ ID = “ rpquestionlist “ > < ItemTemplate > < a href = “ Question.aspx?qid=<%#Eval( “ liftquestionid “ )%> “ > <% #Eval( “ questiontitle “ ) %></ a >< br /> </ ItemTemplate > </ asp:Repeater > </ div > </ td > </ tr > </ ItemTemplate > </ asp:Repeater > </ table >
此方法应该适合于repeater嵌套,datalist嵌套。
(datalist嵌套前不久试过,也可以)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159094.html原文链接:https://javaforall.cn