Asp.net 使用 updatepanel 时 Datapager 不刷新

Asp.net Datapager Not refreshing while using updatepanel

我使用 ListView 来填充产品。我的列表视图在更新面板内。现在,当我使用 datapager 转到第二页时,它会转到第二页,但 datapager 不刷新。如果我点击第二页,第一页按钮也会突出显示。

Aspx

<asp:UpdatePanel ID="up" runat="server">
    <ContentTemplate>
    <asp:ListView ID="products" runat="server" OnPagePropertiesChanging="OnPagePropertiesChanging">
        <ItemTemplate>
            Content Here
        </ItemTemplate>

        <LayoutTemplate>
            <div id="itemPlaceholderContainer" runat="server" style="">
                <div runat="server" id="itemPlaceholder" />
            </div>

            <div class="clearfix"></div>
            <div class="datapager">
                <asp:DataPager ID="DataPager1" ClientIDMode="Static" runat="server" PageSize="24" PagedControlID="products" ViewStateMode="Enabled">
                    <Fields>
                        <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false" ShowPreviousPageButton="False" ShowNextPageButton="false" ButtonCssClass="nextPre" />
                        <asp:NumericPagerField ButtonType="Link" ButtonCount="10" />

                        <asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="false" ShowPreviousPageButton="false" ButtonCssClass="nextPre" />
                    </Fields>
                </asp:DataPager>
                <div class="clear"></div>
            </div>
        </LayoutTemplate>
    </asp:ListView>
    </ContentTemplate>
</asp:UpdatePanel>

你里面可能有误OnPagePropertiesChanging。很难说,因为缺少代码,但它应该看起来像这样。

protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
    //get the correct page info from the datapager
    (products.FindControl("DataPager1") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);

    //reload data and rebind the listview
    products.DataSource = mySource;
    products.DataBind();
}