0

在我的项目中,我尝试添加网格,但它显示以下错误“HtmlHelper>”不包含“网格”的定义,并且最佳扩展方法重载“MvcGridExtensions.Grid(IHtmlHelper,IEnumerable)”需要“IHtmlHelper”类型的接收器

代码:

@model IEnumerable<SCM_MVC.Models.XXXXX>
@using NonFactors.Mvc.Grid;

        @(Html
                .Grid(Model)
                .Build(columns =>
                {
                    columns.Add(model => model.select).Titled("Name");
                    columns.Add(model => model.Surname).Titled("Surname");
                    columns.Add(model => model.MaritalStatus).Titled("Marital status");

                    columns.Add(model => model.Age).Titled("Age");
                    columns.Add(model => model.Birthday).Titled("Birthday").Formatted("{0:d}");
                    columns.Add(model => model.IsWorking).Titled("Employed");
                })
                .Empty("No data found")
                .Filterable()
                .Sortable()
                .Pageable()
        )

这里做错了什么?

4

1 回答 1

0

出现问题是因为NonFactors.Grid.Mvc6包使用IHtmlHelper了从命名空间派生的接口Microsoft.AspNetCore.Mvc.Rendering,而网格应该使用命名空间中的HtmlHelperSystem.Web.Mvc,因此该包与 MVC 5 不兼容。

我建议您卸载NonFactors.Grid.Mvc6包(因为它是为 ASP.NET Core MVC 设计的)并改用NonFactors.Grid.Mvc5包,方法是使用包管理器或控制台命令:

Uninstall-Package NonFactors.Grid.Mvc6
Install-Package NonFactors.Grid.Mvc5

笔记:

您可以比较MVC 5Core MVCGrid版本中扩展方法的内容,这证明了不同的命名空间用法。

相关问题:

MVC:- mvc6.grid 的集成

于 2019-03-11T03:47:34.637 回答