使用 grid.Mvc6 创建 gridview 时显示错误

While Create gridview using grid.Mvc6 showing error

在我的项目中,我尝试添加网格,但它显示以下错误 'HtmlHelper>' 不包含 'Grid' 的定义和最佳扩展方法重载 '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()
        )

这里哪里做错了?

出现问题是因为 NonFactors.Grid.Mvc6 包使用从 Microsoft.AspNetCore.Mvc.Rendering 命名空间派生的 IHtmlHelper 接口,而网格应该使用 HtmlHelper class 来自 [=15] =] 命名空间,因此该包与 MVC 5 不兼容。

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

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

注:

可以对比一下MVC 5 and Core MVC版本的Grid扩展方法的内容,证明namespace的用法不同。

相关问题:

MVC:- Integration of mvc6.grid