PaginatedList -为什么我不能'
本文关键字:不能 为什么 PaginatedList | 更新日期: 2023-09-27 18:08:55
我已经根据本教程创建了一个分页列表:http://nerddinnerbook.s3.amazonaws.com/Part8.htm
它工作,但我不明白一件事-我不能使用ToList()在控制器:
var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page ?? 0, pageSize).ToList();
return View(paginatedDinners);
为什么?我有错误:系统。InvalidCastException,不能将List转换为PaginatedList
没有ToList()它可以工作,为什么?PaginatedList继承自List,所以为什么我不能使用ToList()?
假设你的视图有这样一行:
@model PaginatedList<Dinner>
这意味着除了PaginatedList<Dinner>
之外,您不能传递其他任何内容。
如果你正在使用本教程,他们提供的PaginatedList<Dinner>
的实现继承自List<T>
,所以你可以通过改变你的@model
声明来让它工作:
@model List<Dinner>
但是,当然,如果你在视图中使用PaginatedList<T>
类的任何属性,这将不起作用
PaginatedList
继承自List
,但是当您期望传递PaginatedList
时,传递List
是不准确的。您可以修改您的代码以使用List
或传递PaginatedList
。