繁体   English   中英

PaginatedList-为什么我不能在控制器中创建ToList()?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM