Repeater嵌套Repeater

前台

-1.html"><%# Eval("PS_Name") %>


        .html">
                    <%# base.CutStringExt(Eval("P_Name").ToString(), 20) %>

           
           
               
               


               


           

       
   

后台

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                RpTypeBind();
            }
        }

private void RpTypeBind()
        {//GetQuestionTypeAndCount() 返回一个datatable
            this.repPSort.DataSource = new BProductSort().GetListExt(count);
            this.repPSort.DataBind();
        }

 protected void repPSort_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            //判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,

            //HeaderTemplate,,ItemTemplate,SeparatorTemplate)
            if (this.count!=string.Empty)
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {

                    Repeater rep = e.Item.FindControl("repProduct") as Repeater;//找到里层的repeater对象

                    DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
                    int typeid = Convert.ToInt32(rowv["PS_Id"]); //获取填充子类的id
                    DataTable dt = new BProduct().GetList(" top 16  ", " where P_SortId=" + typeid);
                    if (dt.DefaultView.Count > 0)
                    {
                        rep.DataSource = dt;
                        rep.DataBind();
                    }
                    else
                    {
                        e.Item.FindControl("repProduct").Visible = false;
                    }
                }
            }
            else
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                    Repeater rep = e.Item.FindControl("repProduct") as Repeater;//找到里层的repeater对象

                    DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
                    int typeid = Convert.ToInt32(rowv["PS_Id"]); //获取填充子类的id
                    DataTable dt = new BProduct().GetList(" top "+a, " where P_SortId=" + typeid);
                    if (dt.DefaultView.Count>0)
                    {
                        rep.DataSource = dt;
                        rep.DataBind();
                    }
                    else
                    {
                        e.Item.FindControl("repProduct").Visible = false;
                    }
                }
            }
        }


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部