Kentico 如何在肯蒂科嵌套多个CMSRepeater?
使用Kentico CMS框架(版本7),如何嵌套多个CMS中继器 我已经尝试了以下绑定父母的方法,但是你如何让孩子绑定呢Kentico 如何在肯蒂科嵌套多个CMSRepeater?,kentico,Kentico,使用Kentico CMS框架(版本7),如何嵌套多个CMS中继器 我已经尝试了以下绑定父母的方法,但是你如何让孩子绑定呢 <cms:CMSRepeater ID="repProducts" runat="server" ClassNames="cms.product" OrderBy="NodeLevel,NodeOrder" SelectOnlyPublished="true" MaxRelativeLevel="1"> <ItemTemplate> &
<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>
-
-
我认为您的第一个中继器缺少两个重要属性,即DelayedLoading=“true”和NestedControlsID=“repProductsTested”,因此您的代码应如下所示:
<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>
-
-
作为一个补充,我强烈建议不要使用嵌套中继器,除非您确实需要,或者您的数据集相当小。我们有一个大的下拉菜单,跨越三个层次,在我们的一个网站上,就是这样工作的。该站点遇到性能问题,在调查原因后,发现菜单是罪魁祸首,因为它有许多数据绑定。将其更改为使用分层查看器修复了此问题,因为它返回一个可通过分层转换操作的数据集
我认为,只要有可能使用嵌套的中继器,您就应该研究层次转换。感谢您使用您提到的内容,我成功地完成了大部分工作,现在我只需要做一些编辑:-)