Не работает пагинация PagedList, MVC5

246
19 июля 2017, 21:19

Я использую PagedList для постраничного отображения товаров на странице, страницы создаються при помощи хелпер-метода Html.PagedListPage, однако вне зависимости от того какую страницу я выбираю, значению page в контроллере присваиваться 1(будто значение страницы null).Код контроллера ниже.

public ActionResult Drilling(int? page)
    {
        int pageSize = 10;
        int pageNumber = (page ?? 1);
        IEnumerable<Group> groups = context.Groups;
        IEnumerable<SelectListItem> categories = from item in context.Categories
                                                 select new SelectListItem { Text = item.CategoryName, Value = item.Id.ToString() };
        var temp = context.Items.ToList();
            CatalogViewModel basemodel = new CatalogViewModel()
            {
                Categories = categories,
                Groups = groups, 
                Items = temp.ToPagedList(pageNumber, pageSize)
            };
            return View(basemodel);
    }

Представление:

@model SR.Models.CatalogViewModel 
@using PagedList.Mvc; 
@{ 
    int iterator = Model.Items.Count - 1; 
    ViewBag.Title = "Drilling"; 
} 
 
<script src="~/Scripts/shopcatalog.js"></script> 
<div class="main"> 
    <div class="search"> 
        @using (Html.BeginForm("Drilling","Production", FormMethod.Post, new { id = "search-form" })) 
        { 
            <table id="search-options"> 
                <thead> 
                    <tr> 
                        <td> 
                            @Html.TextBox("Name", "", new { id = "get-name", @class = "form-control", placeholder = "Название товара" }) 
                        </td> 
                        <td> 
                            <input class="btn btn-primary" type="submit" value="Найти" id="search-button" /> 
                        </td> 
                    </tr> 
                </thead> 
                <tr> 
                    <td> 
                        @foreach (var item in Model.Groups) 
                        { 
                            <div class="radio"> 
                                <p style="display:inline">@item.Name</p> 
                                @Html.RadioButtonFor(m => m.SelectedGroup, item.Id, new { @class = "group-radio" }) 
                            </div> 
                        } 
                    </td> 
                    <td id="select-td"> 
                        @Html.ListBoxFor(m => m.SelectedCategories, Model.Categories, new { id = "select", @class = "list-group" }) 
                    </td> 
                </tr> 
            </table> 
        } 
    </div> 
 
    <div class="items-list"> 
        <table class="items-table"> 
            <tbody> 
                @for(int i = 0; i < 10; i++) 
                { 
                    if(iterator == 0) 
                    { 
                        break; 
                    } 
                <tr> 
                    <td> 
                        <div class="catalog-item"> 
                            <div class="col-lg-4 col-md-4 col-sm-4 col-xs-6"> 
                                <div class="item-img"> 
                                    <img src=@Model.Items[iterator].Image alt="Изображение товара"/> 
                                </div> 
                            </div> 
                            <div class="col-lg-8 col-md-8 col-sm-8 col-xs-6"> 
                                <div class="item-description"> 
                                    <a href="#" class="item-title">@Model.Items[iterator].Name</a> 
                                    <p>@Model.Items[iterator].Description</p> 
                                    <p>Price: @Model.Items[iterator--].Price</p> 
                                </div> 
                            </div> 
                        </div> 
                    </td> 
                </tr> 
                } 
            </tbody> 
        </table> 
    </div> 
    <div class="pages"> 
        <div class="pages-wrap"> 
           @Html.PagedListPager(Model.Items, page => Url.Action("Drilling", new { page })) 
        </div> 
    </div> 
</div>
Заметил что данный метод создает разметку с пустыми ссылками:

<div class="pages"> 
        <div class="pages-wrap"> 
           <div class="pagination-container"> 
               <ul class="pagination"> 
                   <li class="PagedList-skipToPrevious"><a href="" rel="prev">«</a</li> 
                   <li><a href="">1</a></li><li><a href="">2</a></li> 
                       <li class="active"><a>3</a></li> 
                       <li><a href="">4</a></li> 
                       <li class="PagedList-skipToNext"><a href="" rel="next">»</a</li> 
                       </ul> 
                   </div> 
        </div> 
    </div>

Подскажите пожалуйста в чем проблема и как это можно исправить!

READ ALSO
Как заполнить ячейку базы данных через Combobox?

Как заполнить ячейку базы данных через Combobox?

Я хочу заполнить ячейку второй таблицы через combobox, выбирая из первой таблицы

161
Как узнать максимальное значение n-символьной маски?

Как узнать максимальное значение n-символьной маски?

Стоит задача генерации последовательности номеровДопустим есть номер

209
Динамический формат в ToString()

Динамический формат в ToString()

Вдогонку к предыдущему вопросу

184
Прозрачная, прокликиваемая &ldquo;внутрь&rdquo; форма

Прозрачная, прокликиваемая “внутрь” форма

Как сделать форму прокликиваемой? На форме label с фоновым изображением, нужно чтобы при клике на форму и label, клик уходил в окно за ней

247