Как разбить на список параметров в MVC? - PullRequest
0 голосов
/ 09 июня 2018

Я хочу выполнить пейджинг в Списке продуктов с параметром Category, используя PagedList образец контроллера mvc

   public ActionResult ListProduct(int id, int? pagePos)
        {
            var list = db.List_Product.Where(e => e.CategoryID == id);
            int pageNumber = (pagePos ?? 1);
            return View(list.ToList().ToPagedList(pageNumber, 2));
        }

и, с точки зрения ListProduct.cshtml

@*@model IEnumerable<Sales.Areas.Users.Models.List_Product>*@
    @model PagedList.IPagedList<sales.areas.users.models.list_product> @*Maybe error in line here*@
    @using PagedList.Mvc

    <table class="table">
    <tr>
        <th>
            Name
        </th>
        <th>
            ID
        </th>

        <th></th>
    </tr>

    @foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ID)
        </td>
    </tr>
    }   
    </table>

    Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

    @Html.PagedListPager(Model, pagePos => Url.Action("ListProduct", new { pagePos }))

Это не работает,и получаю эту ошибку CS0234: The type or namespace name 'IPagedLis' does not exist in the namespace 'PagedList' (are you missing an assembly reference?), хотя я добавил ссылку PagedList назад.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Убедитесь, что все необходимые пространства имен находятся перед использованием любых типов в этом пространстве имен

@using PagedList; //import this so we can cast our list to IPagedList (only necessary because ViewBag is dynamic)
@using PagedList.Mvc; //import this so we get our HTML Helper 

@model IPagedList<Sales.Areas.Users.Models.List_Product>
0 голосов
/ 09 июня 2018

Без дополнительной информации об ошибке найти виновника сложно.Вы должны отключить пользовательские ошибки и активировать отладку в своем web.config

Сначала проверьте, что передан идентификатор переменной в ActionResult ListProduct.

Затем в вашем представлении измените:

@model PagedList.IPagedList<sales.areas.users.models.list_product> 

С:

@model PagedList.IPagedList<Sales.Areas.Users.Models.List_Product> 
...