我正在尝试获取我的ListView当前页面的页码。我使用的DataPager组件包含以下代码:
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;要尝试获取加载时(即当用户导航页面时)的页码,所发生的情况是DataPager1.StartRowIndex返回上一页的索引,而不是新页的索引,因此,我的页计数计算错误。
在上述情况下- MaximumRows = 15。我期望StartRowIndex在第一页上等于0,因此(0/15)+1将给我一个1的页码。在第2页上,我希望StartRowIndex等于15,因此当前的页码是2。
提供进一步资料:
我用的是一个列表组件-
<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页面的索引。
发布于 2013-05-15 17:46:48
当您试图计算当前的页码时,可能会出现这种情况。您的代码没有指明您在哪里执行此操作,但正确的位置是在PagePropertiesChanging事件的ListView期间。就像这样:
protected void ListView_PagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
int CurrentPage = ((DataPager1.StartRowIndex) / DataPager1.MaximumRows) + 1;
}然后绑定到事件,如下所示:
<asp:ListView ... OnPagePropertiesChanging="ListView_PagePropertiesChanging" ... >发布于 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
https://stackoverflow.com/questions/16570994
复制相似问题