Звучит достаточно просто - у меня есть пейджер данных, связанный с данным:
<asp:DataPager runat="server" ID="uxPager" PageSize="10"
PagedControlID="uxDataList" QueryStringField="page">
<Fields>
<asp:NextPreviousPagerField FirstPageText="<<"
ShowFirstPageButton="True" ShowNextPageButton="False"
ShowPreviousPageButton="False" />
<asp:TemplatePagerField OnPagerCommand="PagerCommand">
<PagerTemplate>
Page
<asp:Label runat="server" ID="CurrentPageLabel"
Text="<%# Container.TotalRowCount>0 ?
(Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
of
<asp:Label runat="server" ID="TotalPagesLabel"
Text="<%# Math.Ceiling (
(double)Container.TotalRowCount / Container.PageSize) %>" />
<asp:LinkButton ID="lbViewAll" runat="server" OnClick="ViewAll">
View All
</asp:LinkButton>
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField LastPageText=">>"
ShowLastPageButton="True" ShowNextPageButton="true"
ShowPreviousPageButton="True" PreviousPageText="Prev"
NextPageText="Next" />
</Fields>
Код позади (пока):
/// <summary>
/// Views all.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The <see cref="System.EventArgs"/>
/// instance containing the event data.</param>
protected void ViewAll(object sender, EventArgs e)
{
uxServiceDirectoryPager.SetPageProperties(0,
uxServiceDirectoryPager.TotalRowCount,true);
}
Когда нажимаются кнопки lbViewAll , я хочу отобразить все записи, возвращаемые запросом.
Всякий раз, когда я нажимаю Просмотреть все, я получаю пустой список данных вместо просмотра всех записей. Что я делаю не так?
UPDATE
В моем коде у меня теперь есть метод ViewAll:
uxServiceDirectoryPager.SetPageProperties(0, uxServiceDirectoryPager.TotalRowCount, true);
uxServiceDirectoryList.DataBind();
Когда я выполняю его, мой DataList содержит 95 элементов (что я и ожидаю), , но datalist отображает мой EmptyDataTemplate, хотя я вызываю DataBind ().
Если это имеет какое-то значение, я использую XmlDataSource для управления списком данных.