【问题标题】:Kentico CMS Repeater UniPager shows everything on one pageKentico CMS Repeater UniPager 在一页上显示所有内容
【发布时间】:2021-03-09 03:49:01
【问题描述】:

我前面有以下代码:

<cms:CMSRepeater ID="RepItems" runat="server" DataBindByDefault="false">
    <ItemTemplate>
        //code
    </ItemTemplate>
</cms:CMSRepeater>
<div class="paging-bar flex">
    <cms:UniPager ID="Pager" runat="server">
        <PageNumbersTemplate>
            //template code here
        </PageNumbersTemplate>
    </cms:UniPager>
</div>

在后面的代码中,我在SetupControl()中调用了这个方法

var data = //call to webservice
if (!DataHelper.DataSourceIsEmpty(data))
{
    RepItems.DelayedLoading = true;
    RepItems.DataSource = data;
    DataBind();
    RepItems.ControlContext = ControlContext; //tried with and without
    RepItems.EnablePaging = true; //tried with and without
    RepItems.PageSize = PagingPageSize; //tried with and without
    RepItems.UniPagerControl = Pager; //tried with and without


    Pager.PageSize = PagingPageSize;
    Pager.DisplayFirstLastAutomatically = true;
    Pager.DisplayPreviousNextAutomatically = true;
    Pager.HidePagerForSinglePage = true;
    Pager.GroupSize = 3;
    Pager.PageControl = RepItems.ID;
    Pager.UseQueryParameterForFirstPage = true;
    Pager.PagerMode = CMS.DocumentEngine.Web.UI.UniPagerMode.Querystring;

    //DataBind();
}

但转发器显示所有项目没有分页。有什么我想念的吗?调试时,我得到了 PagingPageSize 的预期值,但 Repeater.PageCount 总是给我一个值 1。

我已经按照 K12 文档https://docs.xperience.io/k12sp/developing-websites/kentico-controls/generic-controls/paging-controls/unipager 进行了所有操作

【问题讨论】:

    标签: asp.net kentico ascx asprepeater kentico-12


    【解决方案1】:

    尝试使用 BasicRepeater 控件而不是 CMSRepeater。

    • 当您手动设置中继器的数据源时,应该在这些情况下准确地使用 BasicRepeater。
    • 当您尝试显示由 CMSRepater 通过“Path”属性自动加载的页面时,应使用 CMSRepeater。

    【讨论】:

    • 我试过了,将 DataBind() 方法移到了 OnPreRender(),但仍然没有应用分页
    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2022-11-23
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多