Sathish
Sathish

Reputation: 4487

While Create gridview using grid.Mvc6 showing error

In my project i try to add grid but its showing following error 'HtmlHelper>' does not contain a definition for 'Grid' and the best extension method overload 'MvcGridExtensions.Grid(IHtmlHelper, IEnumerable)' requires a receiver of type 'IHtmlHelper'

Code:

@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()
        )

What am doing wrong here?

Upvotes: 0

Views: 2585

Answers (1)

Tetsuya Yamamoto
Tetsuya Yamamoto

Reputation: 24957

The problem occurred because NonFactors.Grid.Mvc6 package uses IHtmlHelper interface derived from Microsoft.AspNetCore.Mvc.Rendering namespace, while the grid should use HtmlHelper class from System.Web.Mvc namespace, hence the package is incompatible with MVC 5.

I suggest you to uninstall NonFactors.Grid.Mvc6 package (since it designed for ASP.NET Core MVC) and use NonFactors.Grid.Mvc5 package instead, by using Package Manager or console command:

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

Note:

You can compare the contents of Grid extension method in MVC 5 and Core MVC version, which proves different namespace usage.

Related issue:

MVC:- Integration of mvc6.grid

Upvotes: 0

Related Questions