asp.net
2011-12-15 37 views 0 likes 
0

我有三个嵌套的中继器,我有数据绑定第一和第二,但我无法弄清楚如何将数据绑定第三个我这里是我的标记:如何进行数据绑定三个层次嵌套转发

<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> 

以下是我的代码,数据绑定第二个命名subMenuRepeater转发:

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 

请我怎么能数据绑定名为sub_subMenuRepeater第三。在此先感谢

回答

0

您可以重复相同的过程,因为你有你的第一个嵌套中继器。

当外部中继器的ItemDataBound事件被调用时,您获取当前的Item,然后为嵌套的Repeater绑定属性。

如果您订阅嵌套中继器的ItemDataBound事件,则可以绑定subnested中继器。

+0

无法生成坐在中继器内的中继器的ItemDataBound事件。如果有任何方法,请让我知道。 – 2011-12-15 13:05:28

相关问题