我正在尝试获取ListView当前页面的页码。我正在使用带有以下代码的DataPager组件:
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
尝试获取加载时的页码,即用户浏览页面时的页码,但是发生的是DataPager1.StartRowIndex返回上一页的索引而不是新页面的索引,因此,我的页数计算错误。
在上面的例子中 - MaximumRows = 15.我希望StartRowIndex在第一页上等于0,因此(0/15)+1会给我一个页码1.在第2页我希望StartRowIndex到等于15,因此当前页码为2。
提供进一步资料:
我正在使用listview组件 -
<asp:ListView ID="lvQuals" runat="server" DataSourceID="dsListQual"
OnItemDataBound="lvQuals_ItemDataBound"
OnPagePropertiesChanged="lvQuals_PagePropertiesChanged">
以下代码 -
public void lvQuals_PagePropertiesChanged(object sender, EventArgs e)
{
ToggleArchivedLink();
}
protected void ToggleArchivedLink()
{
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
DataPager1.StartRowIndex有时会显示正确的页面索引,但其他时间会显示previos页面的索引。
答案 0 :(得分:3)
时,您可能正在尝试计算当前页码。您的代码并未指明您在何处执行此操作,但正确的位置是在 ListView 的PagePropertiesChanging
事件期间。像这样:
protected void ListView_PagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
}
然后像这样绑定到事件:
<asp:ListView ... OnPagePropertiesChanging="ListView_PagePropertiesChanging" ... >
答案 1 :(得分:0)