在Repeater 中使用Repeater的方法, Repeater2 内嵌 Repeater1操作

在Repeater 中使用Repeater的方法

前台代码:

<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">

        <ItemTemplate>

            <div class="nav_title">

                <%#Eval("class") %></div>

            <ul class="nav">

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

                    <ItemTemplate>

                        <li><a class="<%#Convert.ToInt32(Eval("id"))==sortId?"select":"" %>" href="line.aspx?sort_id=<%#Eval("id") %>"><%#Eval("sort") %></a></li>

                    </ItemTemplate>

                </asp:Repeater>

            </ul>

        </ItemTemplate>

    </asp:Repeater>

后台代码(Repeater就不写了,直接第二个):

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {

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

            Repeater rptProduct = (Repeater)e.Item.FindControl("Repeater2");

            //找到分类Repeater关联的数据项 

            DataRowView rowv = (DataRowView)e.Item.DataItem;

            //提取分类ID 

            string classKey = rowv["class"].ToString();

            //根据分类ID查询该分类下的产品,并绑定产品Repeater 

            DataSet st = AccessHelper.ExecuteDataSet("select distinct [sort],[id] from [line_sort] where [class]=@class",AccessHelper.Parameter("@class",classKey));

            rptProduct.DataSource = st.Tables[0];

            rptProduct.DataBind();

        }

    }

你可能感兴趣的:(方法)