4

使用 Kentico CMS 框架(版本 7)如何嵌套多个 CMS 中继器?

我已经尝试了以下绑定父母的方法,但是您将如何让孩子绑定?

<cms:CMSRepeater ID="repProducts" runat="server" ClassNames="cms.product" OrderBy="NodeLevel,NodeOrder" SelectOnlyPublished="true"  MaxRelativeLevel="1">
<ItemTemplate>
      <%# Eval("DocumentName")%>
      <ul>
            <li>
                     <cms:CMSRepeater ID="repProductsNested" runat="server" ClassNames="cms.product" OrderBy="NodeLevel,NodeOrder" SelectOnlyPublished="true"  MaxRelativeLevel="1" Path="./%">
                     <HeaderTemplate>
                            <ul>
                     </HeaderTemplate>
                     <ItemTemplate>
                            <li><%# Eval("DocumentName")%>
                     </ItemTemplate>
                     </cms:CMSRepeater>
                     <FooterTemplate>
                            </ul>
                     </FooterTemplate>
            </li>
      </ul>
</ItemTemplate>
</cms:CMSRepeater>
4

2 回答 2

2

我认为您在第一个中继器上缺少两个重要属性,即DelayedLoading="true"NestedControlsID="repProductsNested"因此您的代码应如下所示:

<cms:CMSRepeater ID="repProducts" runat="server" ClassNames="cms.product" OrderBy="NodeLevel,NodeOrder" SelectOnlyPublished="true"  MaxRelativeLevel="1" NestedControlsID="repProductsNested" DelayedLoading="true">
<ItemTemplate>
      <%# Eval("DocumentName")%>
      <ul>
            <li>
                     <cms:CMSRepeater ID="repProductsNested" runat="server" ClassNames="cms.product" OrderBy="NodeLevel,NodeOrder" SelectOnlyPublished="true"  MaxRelativeLevel="1" Path="./%">
                     <HeaderTemplate>
                            <ul>
                     </HeaderTemplate>
                     <ItemTemplate>
                            <li><%# Eval("DocumentName")%>
                     </ItemTemplate>
                     </cms:CMSRepeater>
                     <FooterTemplate>
                            </ul>
                     </FooterTemplate>
            </li>
      </ul>
</ItemTemplate>
</cms:CMSRepeater>
于 2013-05-31T15:12:06.573 回答
0

另外,我强烈建议不要使用嵌套中继器,除非你真的必须这样做,或者你的数据集相当小。我们有一个大型下拉菜单,在我们的一个网站上以这种方式工作,跨越三层。该站点遇到了性能问题,在调查了原因后,发现菜单是罪魁祸首,因为它有很多数据绑定。将其更改为使用分层查看器可以解决此问题,因为它返回一个可以通过分层转换进行操作的数据集。

我认为只要有可能嵌套中继器,您就应该研究分层转换。

于 2014-09-13T23:14:21.477 回答