首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取DataPager的当前页码

获取DataPager的当前页码
EN

Stack Overflow用户
提问于 2013-05-15 17:03:02
回答 2查看 8.7K关注 0票数 2

我正在尝试获取我的ListView当前页面的页码。我使用的DataPager组件包含以下代码:

代码语言:javascript
复制
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;

要尝试获取加载时(即当用户导航页面时)的页码,所发生的情况是DataPager1.StartRowIndex返回上一页的索引,而不是新页的索引,因此,我的页计数计算错误。

在上述情况下- MaximumRows = 15。我期望StartRowIndex在第一页上等于0,因此(0/15)+1将给我一个1的页码。在第2页上,我希望StartRowIndex等于15,因此当前的页码是2。

提供进一步资料:

我用的是一个列表组件-

代码语言:javascript
复制
<asp:ListView ID="lvQuals" runat="server" DataSourceID="dsListQual" 
OnItemDataBound="lvQuals_ItemDataBound" 
OnPagePropertiesChanged="lvQuals_PagePropertiesChanged">

后面有下面的代码-

代码语言:javascript
复制
public void lvQuals_PagePropertiesChanged(object sender, EventArgs e)
{
   ToggleArchivedLink();
}

protected void ToggleArchivedLink()
{
   int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;

DataPager1.StartRowIndex有时显示正确的页面索引,但有时显示previos页面的索引。

EN

回答 2

Stack Overflow用户

发布于 2013-05-15 17:46:48

当您试图计算当前的页码时,可能会出现这种情况。您的代码没有指明您在哪里执行此操作,但正确的位置是在PagePropertiesChanging事件的ListView期间。就像这样:

代码语言:javascript
复制
protected void ListView_PagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)    
{
    int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
}

然后绑定到事件,如下所示:

代码语言:javascript
复制
<asp:ListView ... OnPagePropertiesChanging="ListView_PagePropertiesChanging" ... >
票数 3
EN

Stack Overflow用户

发布于 2013-06-05 05:15:50

我想下面的链接会帮你做这件事。

http://weblogs.asp.net/hajan/archive/2011/09/08/paging-listview-using-datapager-without-using-datasource-control.aspx

https://web.archive.org/web/20211029044137/https://www.4guysfromrolla.com/articles/010610-1.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16570994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档