我正在尝试获取 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 有时会显示正确的页面索引,但有时会显示上一个页面的索引。
最佳答案
可能当您尝试计算当前页码时。您的代码并未指示您在何处执行此操作,但正确的位置是在 ListView 的 PagePropertiesChanging
事件期间。就像这样:
protected void ListView_PagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
}
然后像这样绑定(bind)到事件:
<asp:ListView ... OnPagePropertiesChanging="ListView_PagePropertiesChanging" ... >
关于asp.net - 获取DataPager当前页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570994/