使用具有 LinqDataSource 和启用分页(使用 DataPager)的标准 ASP.NET ListView,默认显示最后一页结果的最佳方式是什么?
Ryan Versaw
问问题
1373 次
3 回答
1
我从来没有这样做过,但是有几个地方我会查看是否可以进行您想要的更改:数据源的 OnSelecting 处理程序、ListView 的 OnPreRender 或 OnDataBinding 以及 DataPager 的 OnPreRender。本质上,您希望以!IsPostBack
一种特殊的方式处理这种情况。我可能会先查看 DataPager,看看您是否可以找出有多少页并将其设置为最后一页。将页面设置为所需的页面后,您可能需要重新绑定数据源。之后,我会考虑为 ListView 添加一个 OnDataBinding 处理程序,看看你可以在那里做什么。我怀疑 PreRender 发生得太晚,ListView 没有任何效果,而 OnSelecting 虽然很适合通过基于表的函数进行过滤,但在这种情况下可能不会有多大好处。
于 2008-11-06T04:05:51.503 回答
1
将当前页索引设置为页数 - 1。
于 2008-11-05T20:26:30.340 回答
1
您需要知道总记录数和页面上显示的记录数。
这篇有用的帖子向您展示了如何获取记录数:
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";
}
那里进一步讨论了与您的情况相似的情况。
于 2008-11-05T20:41:19.500 回答