我已根据本教程创建了分页列表: http://nerddinnerbook.s3.amazonaws.com/Part8.htm
它有效,但我不明白一件事 - 我无法在控制器中使用ToList():
var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page ?? 0, pageSize).ToList();
return View(paginatedDinners);
为什么呢?我有错误: System.InvalidCastException,无法将List强制转换为PaginatedList
没有ToList()它有效,为什么? PaginatedList继承自List,为什么我不能使用ToList()?
答案 0 :(得分:3)
据推测,你的观点有这样一句话:
@model PaginatedList<Dinner>
这意味着您无法传递PaginatedList<Dinner>
以外的任何内容。
如果您正在使用this tutorial,则他们提供的PaginatedList<Dinner>
的实施会继承List<T>
,因此您可以通过更改@model
声明:
@model List<Dinner>
但是,如果您在视图中使用PaginatedList<T>
类的任何属性,这将无效。
答案 1 :(得分:0)
PaginatedList
继承自List
,但只要您预期PaginatedList
传递List
就不准确。您可以修改代码以获得List
或传递PaginatedList
。