我有一个包含两个DataPagers的页面,一个位于上面,一个位于他们控制的ListView之下。所有事件都在第一个DataPager上触发,但是任何后续的DataPagers都不会在第一页上增加页面(它们在任何其他页面上都会增加)。
<asp:DataPager runat="server" ID="uxTopPager" PagedControlID="uxFundList" PageSize="10" OnPreRender="PagerPreRender">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ButtonCssClass="NextPrevious" ShowFirstPageButton="False" ShowLastPageButton="False" />
</Fields>
</asp:DataPager>
<table>
<th><!-- Table Headers --></th>
<asp:ListView runat="server" ID="ListView1" OnItemDataBound="FundListItemDataBound" OnPagePropertiesChanging="FundList_PagePropertiesChanging">
<ItemTemplate>
<tr><!-- Table Data--></tr>
</ItemTemplate>
</asp:ListView>
<asp:DataPager runat="server" ID="uxBottomPager" PagedControlID="uxFundList" PageSize="10" OnPreRender="PagerPreRender">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ButtonCssClass="NextPrevious" ShowFirstPageButton="False" ShowLastPageButton="False" />
</Fields>
</asp:DataPager>
每个传呼机应触发以下事件:
protected void PagerPreRender(object sender, EventArgs e)
{
uxFundList.DataBind();
}
protected void FundList_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
uxFundList.DataBind();
uxTopPager.SetPageProperties(((e.StartRowIndex- 1) * PageSize), uxTopPager.PageSize, false);
uxBottomPager.SetPageProperties(((e.StartRowIndex- 1) * PageSize), uxBottomPager.PageSize, false);
}
然而,底层寻呼机(uxBottomPager)仅触发PagerPreRender(),因此不会增加当前页面。
我无法使用查询字符串来控制页面,因为我有大量的变量会导致查询字符串无法使用。
非常感谢任何帮助。
答案 0 :(得分:0)
这对我有用
protected void FundList_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
uxTopPager.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
uxBottomPager.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
BindListView(); //Function where datas are binded to listview
}