听起来很简单 - 我有一个与数据列表关联的数据夹:
<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 按钮后,我想显示所有查询返回的记录。
每当我点击查看全部时,我会得到一个空的数据列表而不是查看所有记录。我做错了什么?
更新
在我的代码隐藏中,我现在已经使用了ViewAll方法:
uxServiceDirectoryPager.SetPageProperties(0, uxServiceDirectoryPager.TotalRowCount, true);
uxServiceDirectoryList.DataBind();
当我单步执行它时,我的DataList有95个项目(这是我期望的),但是datalist呈现我的EmptyDataTemplate,即使我正在调用DataBind()。
如果它有任何区别,我正在使用XmlDataSource来驱动数据列表。