repeater嵌套循环

有两种方法:A:

前台关键代码:

<!显示出来的内容-->

<table class="table1" width="99%">

    <asp:Repeater ID="repResults" runat="server" >

        <ItemTemplate>

            <tr>

                <td style="width: 5%"><%# Eval("studentId")%></td>

                <td style="width: <%=pre %>"><%# Eval("studentName")%></td>

                <asp:Repeater ID="repSubject" runat="server" DataSource="<%# GetSubject() %>">

                    <ItemTemplate>

                        <td style="width: <%=pre %>">

                            <input class="res" type="text" name='<%# GetSubId(Eval("subjectId").ToString()) %>' />

                        </td>

                    </ItemTemplate>

                </asp:Repeater>

            </tr>

        </ItemTemplate>

    </asp:Repeater>

</table>

后台关键代码:

    //查询

    protected void btnQuery_Click(object sender, EventArgs e)

    {

        if (ddlClass.SelectedValue == "0")

            return;

        IList<Student> stuList = teacherbasinan.SleStuAllByID(Convert.ToInt32(ddlClass.SelectedValue));     //根据班级获取所有的学员

        repResults.DataSource = stuList;

        repResults.DataBind();

        IList<Subject> subList = GetSubject();               //获取所有的科目

        int chu = subList.Count + 2;

        int counts = 100 / chu;

        this.repTitles.DataSource = subList;                 //设置标题

        this.repTitles.DataBind();

        pre = counts.ToString() + "%";

}

 

    public IList<Subject> GetSubject()

    {

        TestNameModel testname = testnamemanager.GetSubjectByTname(ddlTName.SelectedItem.Text);            //获取考试科目

        string subs = testname.SubjectIds;                                                                  //获取科目id

        IList<Subject> subList = subjectManager.GetSubjectsBySubjectIds(subs);

        return subList;

 }

 

第二种方法:

前台关键代码

<!--显示出来的内容-->

<table class="table1" width="99%">

    <asp:Repeater ID="repResults" runat="server" OnItemDataBound="repResults_ItemDataBound" >

        <ItemTemplate>

            <tr>

                <td style="width: 5%"><%# Eval("studentId")%></td>

                <td style="width: <%=pre %>"><%# Eval("studentName")%></td>

                <asp:Repeater ID="repSubject" runat="server">

                    <ItemTemplate>

                        <td style="width: <%=pre %>">

                            <input class="res" type="text" name='<%# GetSubId(Eval("subjectId").ToString()) %>' />

                        </td>

                    </ItemTemplate>

                </asp:Repeater>

            </tr>

        </ItemTemplate>

    </asp:Repeater>

</table>

后台关键代码:

    protected void repResults_ItemDataBound(object sender, RepeaterItemEventArgs e)

    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

        {

            Student stu = e.Item.DataItem as Student;

            Repeater repSubject = e.Item.FindControl("repSubject") as Repeater;

            if (repSubject != null)

            {

                repSubject.DataSource = GetSubject();

                repSubject.DataBind();

            }

        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值