Asp.net 如何对三层嵌套中继器进行数据绑定

Asp.net 如何对三层嵌套中继器进行数据绑定,asp.net,Asp.net,我有三个嵌套的中继器,我对第一个和第二个进行了数据绑定,但我不知道如何对第三个进行数据绑定我的标记如下: <asp:Repeater ID="mainMenuRepeater" runat="server"> <HeaderTemplate><ul></HeaderTemplate> <ItemTemplate> <li><a title='&l

我有三个嵌套的中继器,我对第一个和第二个进行了数据绑定,但我不知道如何对第三个进行数据绑定我的标记如下:

<asp:Repeater ID="mainMenuRepeater" runat="server">
            <HeaderTemplate><ul></HeaderTemplate>
            <ItemTemplate>

            <li><a title='<%#Eval("post_name")%>' id='<%#Eval("id")%>'  href='<%#ResolveUrl(Eval("post_permalink"))%>'><%# Eval("post_name")%></a>
                <asp:Repeater ID="subMenuRepeater" runat="server">
                <HeaderTemplate><ul></HeaderTemplate>
                <ItemTemplate>

                 <li>
                 <a href='<%#ResolveUrl(Eval("post_permalink"))%>'><%# Eval("post_name")%></a>

                     <asp:Repeater ID="sub_subMenuRepeater" runat="server">
                      <HeaderTemplate><ul></HeaderTemplate>
                        <ItemTemplate>
                        <li><a href='<%#ResolveUrl(Eval("post_permalink"))%>'><%# Eval("post_name")%></a></li>
                      </ItemTemplate>
                      <FooterTemplate></ul></FooterTemplate>
                     </asp:Repeater>
                 </li>

                </ItemTemplate>
                <FooterTemplate></ul></FooterTemplate>
                </asp:Repeater>
            </li>
            </ItemTemplate>
            <FooterTemplate></li>
            <br style="clear: left" />
            </FooterTemplate>
            </asp:Repeater>

请问如何在命名sub_SubNurePeater上绑定第三个。提前感谢

您可以重复与第一个嵌套中继器相同的过程

调用外部中继器的ItemDataBound事件时,获取当前项,然后绑定嵌套中继器的属性


如果订阅嵌套中继器的ItemDataBound事件,则可以对子嵌套中继器进行数据绑定。

无法生成位于中继器内部的中继器的ItemDataBound事件。如果有办法,请让我知道。在你的代码中,你会得到子菜单中继器。您可以在调用DataBind()之前订阅ItemDataBoundEvent
Protected Sub mainMenuRepeater_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles mainMenuRepeater.ItemDataBound
        Try
            If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then

                'Dim dv As DataRowView = CType(e.Item.DataItem, DataRowView)
                Dim ad As Int32 = CType(DataBinder.Eval(e.Item.DataItem, "id").ToString(), Int32)
                Dim db As iwebmalldatacontextDataContext = New iwebmalldatacontextDataContext()
                Dim menus = From m In db.iwebmall_posts
                            Where m.post_type = "page" And m.post_status = 1 And m.post_parent = ad Order By m.post_menu_order
                            Select m.post_permalink, m.post_name, m.id

                Dim subMenu As Repeater = CType(e.Item.FindControl("subMenuRepeater"), Repeater)
                If menus.Count > 0 Then
                    With subMenu
                        .DataSource = menus
                        .DataBind()
                    End With
                End If

            End If




        Catch ex As Exception
            '  Throw ex
        End Try
    End Sub