前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Repeater的嵌套

Repeater的嵌套

作者头像
徐大嘴
发布2019-03-21 10:43:47
6920
发布2019-03-21 10:43:47
举报
文章被收录于专栏:大嘴说编程大嘴说编程

经常会遇到需要嵌套的地方,比如说回复帖子等,这时候可以使用Repeater来进行嵌套,据说同样适用于DataList,代码如下:

ASPX代码:

代码语言:javascript
复制
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="wwt.UI.WebForm1" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>无标题页</title> 
    <style type="text/css"> 
    ul{  
    list-style: none;  
    }  
    </style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <ul> 
        <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"> 
        <ItemTemplate> 
        <li> 
            <%#Eval("Body")%> 
        </li>    
                <asp:Repeater ID="Repeater2" runat="server"> 
                <ItemTemplate> 
                <li style="text-indent:24px;"> 
                    <%#Eval("Body")%> 
                </li> 
                </ItemTemplate> 
                </asp:Repeater>                 
   
        </ItemTemplate> 
        </asp:Repeater> 
    </ul> 
    </div> 
    </form> 
</body> 
</html>

CS代码:

代码语言:javascript
复制
using System;  
using System.Collections;  
using System.Configuration;  
using System.Data;  
using System.Linq;  
using System.Web;  
using System.Web.Security;  
using System.Web.UI;  
using System.Web.UI.HtmlControls;  
using System.Web.UI.WebControls;  
using System.Web.UI.WebControls.WebParts;  
using System.Xml.Linq;  
using wwt.SQLServerDAL;  
 
namespace wwt.UI  
{  
    public partial class WebForm1 : System.Web.UI.Page  
    {  
        wwt.SQLServerDAL.Space SpaceDal = new wwt.SQLServerDAL.Space();  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            //绑定外层的Repeater1  
            this.Repeater1.DataSource = SpaceDal.GetAlbumCommonListByID(101011, 0).Tables[0];  
            this.Repeater1.DataBind();  
        }  
 
        protected void Repeater1_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("Repeater2") as Repeater;//找到里层的repeater对象  
                DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项   
                int typeid = Convert.ToInt32(rowv["id"]); //获取填充子类的id   
                rep.DataSource = SpaceDal.GetAlbumCommonListByID(101011, typeid).Tables[0];  
                rep.DataBind();  
            }  
        }  
    }  
}

本文作者:老徐

本文链接:https://cloud.tencent.com/developer/article/1405689

转载时须注明出处及本声明

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档