asp.net - 获取DataPager当前页码

标签 asp.net .net .net-3.5

我正在尝试获取 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 有时会显示正确的页面索引,但有时会显示上一个页面的索引。

最佳答案

可能您尝试计算当前页码时。您的代码并未指示您在何处执行此操作,但正确的位置是在 ListViewPagePropertiesChanging 事件期间。就像这样:

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/

相关文章:

winforms - 带有 MessageBox 图标和声音的自定义 WinForm

asp.net - 如何重新定位 asp.net ajax ValidatorCalloutExtender

javascript - 如何将 JavaScript 结果绑定(bind)到我页面上的 div?

.net - 在整个 n 层 Web 应用程序中使用 .NET 成员资格提供程序

.net - x-64 计算机上的 Oracle.DataAccess.Dll 加载问题

c# - 带有显示详细信息选项的消息框?

jquery - 获取选中的行id

c# - 编译错误-您是否缺少using指令或程序集引用?

c# - 如何获取当前帧?

c# - 以编程方式访问谷歌浏览器历史记录