[英]PaginatedList - why I can't make ToList() in controller?
我已经根据本教程创建了分页列表: http : //nerddinnerbook.s3.amazonaws.com/Part8.htm
它有效,但我不明白1件事-我无法在控制器中使用ToList():
var paginatedDinners = new PaginatedList<Dinner>(upcomingDinners, page ?? 0, pageSize).ToList();
return View(paginatedDinners);
为什么? 我有错误: System.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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.