1
3
使服务器端分页与DataPager一起工作的唯一方法似乎是使用
这可能对您的情况没有任何帮助,因为我注意到,您调用的某种服务可能不会(也不应该)返回一个IQueryable结果,这对工作是必要的。不管怎样,它在这里,以防你感兴趣… ASPX标记:
代码落后:
注:
MSDN
关于
更新: 实际上,您可以使用ObjectDatasource控件而不是LinqDataSource控件来实现这一点-请参见 this article and download the sample . 虽然使用ObjectDataSource并不像使用LinqDataSource控件那么简单,但它使用的Magic Linq内容更少(相反,它使用映射到业务/数据层方法的一堆Magic字符串),并且允许为数据访问方法而不是iQuery暴露IEnumerable。 不过,我从来没有真正喜欢在我的UI标记中嵌入任何类型的数据源控件(我认为这是必要的),所以我可能会避开DataPager控件,除了您在第一次更新中建议的小应用程序。 约翰,我注意到的另一件事是,您试图将标准的ASP.NET服务器控件(依赖于ViewState)与pagedlist类结合起来,pagedlist类是为ASP.NET MVC应用程序开发的一个助手类。虽然这可能有效,但可能有更简单的路线。 |
2
10
完全需要您所做的-使用listview、datapager和linq数据源的SQL Server分页。正如您所说,totalrowcount是只读的。还有setpageproperties方法可用于设置总行数,但也不适用于我。 但我还是设法用这种方法骗了它。我有一个带有空项目模板的虚拟隐藏列表视图。寻呼机将指向此虚拟列表视图,而不是原始列表视图。然后,我们需要将虚拟ListView绑定到一个具有与原始数据源相同数量的项目的虚拟集合。这将确保正确呈现寻呼机。这是标记。
后面的代码
用100K记录测试。奏效。 |
3
0
约翰,我在这里做了一些概念证明,这样你就可以看到代码了。我把它做得尽可能基本,所以没有绒毛。请让我知道,如果有一些属性,你需要这是失踪,我将修改。 突出的东西:
代码落后:
ASPX(不包括所有其他绒毛):
享受吧,如果你还需要什么,请告诉我。 迈克 |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |