.Net绑定双层Repeater

 

                <asp:Repeater ID="rptTitlelist" runat="server" OnItemDataBound="rptTitlelist_OnItemDataBound">
                    <ItemTemplate>
                        <tr>
                            <td colspan="2" class="tabledata" style="font-size: 18px;">
                                <strong>
                                    <%#Eval("Name")%></strong>
                            </td>
                        </tr>
                        <asp:Repeater ID="rptQuestionList" runat="server">
                            <ItemTemplate>
                                <tr>
                                    <td class="tabledata">
                                        <a href="javascript:void(0)" onclick="onClickTab('1',167,this)" title="上传文件">
                                            <%# Container.ItemIndex + 1%>、<%#Eval("CategoryName")%></a>
                                    </td>
                                    <td class="tabledata">
                                        <a id="get_id_<%#Eval("PKID")%>" href="javascript:;" onclick="LayerOpen(<%#Eval("PKID")%>,'<%#Eval("CategoryName") %>');"
                                            style="white-space: nowrap;">上传文件</a>
                                    </td>
                                </tr>
                            </ItemTemplate>
                        </asp:Repeater>
                    </ItemTemplate>
                </asp:Repeater>


        #region 绑定提交资料信息
        /// <summary>
        ///  绑定提交资料信息
        /// </summary>
        private void RptTitleBind()
        {
            // 上传文件列表
            rpApplicationFileList.DataSource = new BLL.ApplicationFileSet().GetApplicationFileList(appId);
            rpApplicationFileList.DataBind();
            rptTitlelist.DataSource = new BLL.AppFileCategory().GetAppFileCategoryList(standardTypeId);
            rptTitlelist.DataBind();
        }

        // 判断里层repeater处于外层repeater的哪个位置
        protected void rptTitlelist_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Repeater rep = e.Item.FindControl("rptQuestionList") as Repeater;
                DataRowView rowv = (DataRowView)e.Item.DataItem;
                int categoryId = Utils.StrToInt(rowv["PKID"].ToString(), 0);
                rep.DataSource = new BLL.ApplicationFileSet().GetApplicationFileSetID(categoryId, standardTypeId);
                rep.DataBind();
            }
        }
        #endregion

posted @   亘古不变  阅读(176)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示