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"> <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 /> 父级数据:<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "qtid")%> 父级序号:<%# ((RepeaterItem)Container.Parent.Parent).ItemIndex %> </ItemTemplate> </asp:Repeater> </div> </td> </tr> </ItemTemplate> </asp:Repeater> </table>
CS
private void Repeater1Bind() {//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(); } }