默认为ListView中的最后一页

时间:2008-11-05 20:23:18

标签: asp.net listview pagination

使用带有LinqDataSource和分页的标准ASP.NET ListView(使用DataPager),默认显示结果最后一页的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

将当前页面索引设置为页面计数 - 1。

答案 1 :(得分:1)

您需要知道总记录数和页面上显示的记录数。

This有用的帖子向您展示如何获取记录数:

private LinqDataSourceSelectEventArgs args;
protected void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
     args = e;           
     e.Result = new Database().Table.Whatever...                      
}

protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
     this.label1.Text = args.Arguments.TotalRowCount + " records";
}

有进一步讨论的情况与你的情况类似。

答案 2 :(得分:1)

我从来没有这样做过,但有几个地方我想看看我是否可以进行你想要的改变:数据源的OnSelecting处理程序,ListView的OnPreRender或OnDataBinding,以及DataPager的OnPreRender。基本上,您希望以特殊方式处理!IsPostBack的情况。我可能会首先查看DataPager,看看是否可以找到有多少页面并将其设置到最后一页。将页面设置为所需页面后,可能需要重新绑定数据源。之后我会为ListView添加一个OnDataBinding处理程序,看看你能做些什么。我怀疑PreRender发生得太晚,ListView没有任何效果和OnSelecting,虽然通过基于表的函数进行过滤很好,但在这种情况下可能不会有太大作用。