【问题标题】:PageList Cannot convert method group 'pagedlistpager' to non-delegate type in ASP.NET Core MVC 2.1PageList 无法在 ASP.NET Core MVC 2.1 中将方法组“pagedlistpager”转换为非委托类型
【发布时间】:2019-01-28 21:09:49
【问题描述】:

尝试在我的 ASP.NET Core MVC 2.1 Web 应用中向用户添加分页。除了@Html.PagedListPager 之外,一切似乎都正常工作 - 我收到一个错误:

无法将方法组“pagedlistpager”转换为非委托类型“object”。

我还注意到在 Dependencies > NuGet > PagedList.Mvc > PagelistList(1.17.0) 下有一个黄色感叹号。我想知道核心 2.1 是否支持页面列表?我试图降级并更新它,它仍然有标记。有解决办法或变通办法吗?

@Html.PagedListPager (Model, page => Url.Action("Index",
     new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))

【问题讨论】:

  • 这看起来像是一个不再支持的旧 MVC 包(请参阅 here)。您可能需要升级到支持 .NET Core 的版本(请参阅here)
  • 感谢我现在测试它,我得到了 docs.microsoft.com 的代码,它是 2 周前刚刚更新的。

标签: asp.net asp.net-mvc asp.net-core-2.1 pagedlist


【解决方案1】:

X.PagedList.MVC.Core 工作得很好我在docs.microsoft.com 上使用了完全相同的代码和文档来让它工作。当我使用

@model X.PagedList.PagedList<MyProject.Models.ApplicationUser>
@using MyProject.Utility
@using X.PagedList.Mvc.Core
@using X.PagedList;

在我看来,错误消失了

【讨论】:

    【解决方案2】:

    发生该错误是因为在开头 ( 之前有一个空格,这意味着 Razor 将其视为 @Html.PagedListPager。

    正如所指出的,该包自 2013 年以来未更新,因此在 .NET Core 中不受支持。该软件包的官方网站建议您改用X.PagedList.Mvc.Core。

    【讨论】:

    • 是的,修复了错误,但就像你们都推荐它已过时,我现在测试它
    • 感谢它使用相同的代码,我所要做的就是下载包 X.PagedList.Mvc.Core 并使用所有相同的代码。只需将我的@using 在我的视图中更改为 X.PagedList.Mvc.Core
    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多