Почему моя предыдущая кнопка не содержит параметр для контроллера? Список страниц MVC

У меня проблема при реализации pagedlist mvc в моем проекте веб-сайта. Я использовал pagedlist mvc, чтобы показать частичное представление. Когда кнопка «Предыдущая» нажата, параметр не завершает проход, а только номер страницы, которая проходит, а другой — нулевой. это мой контроллер

 public ActionResult StoreItemView(string jenis, string sorting_key, int? Page_No)

для предыдущая кнопка будет создана ссылка, подобная этой

localhost:20208/StoreItem/StoreItemView?Page_No=1

и отличается от кнопки "Далее", которая создает ссылку, содержащую все параметры

localhost:20208/StoreItem/StoreItemView?jenis=&sorting_key=&Page_No=2

почему это разные вызовы для предыдущей и следующей кнопки?

я создаю такой пейджер в cshtml

<div id="myPager">
    @Html.PagedListPager(
        Model,
        page => Url.Action(
            "StoreItemView",
            new
            {
                jenis = ViewBag.jenis,
                sorting_key = ViewBag.sorting_key,
                Page_No = page
            }
        ),
                PagedListRenderOptions.PageNumbersOnly
    )
</div>

и я тоже использую javascript для частичного просмотра загрузки, мой javascript

<script>
    $(function () {
        $('#myPager').on('click', 'a', function () {
            $.ajax({
                url: this.href,
                type: 'GET',
                cache: false,
                success: function (result) {
                    $('#container_item_store').html(result);
                    alert("sukses");
                },
                error: alert("bangsat")
            });
            return false;
        });
    });
</script>

Я застрял в этой проблеме почти 2 дня. Я надеюсь, что люди, которые здесь, могут помочь мне. Спасибо раньше :)

----РЕДАКТИРОВАТЬ------

@model PagedList.IPagedList<MVC_EDOLPUZ.Models.StoreItemModel>
@using System.Globalization
@using PagedList.Mvc
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />

<h3><span class="label label-primary">DOLANAN PUZZLE ITEM</span></h3>
<select id="Sorting_Order" name="Sorting" onchange="reloadPartialDDL()">
    <option value="0">-Urutkan Berdasarkan-</option>
    <option value="nama">Nama</option>
    <option value="rendah">Harga Terendah</option>
    <option value="tinggi">Harga Tertinggi</option>
</select>

<div id="products" class="row list-group">
    @foreach (var item in Model)
    {
        <div class="item  col-xs-5 col-lg-3">
            <div class="thumbnail">
                <img class="group list-group-image img-responsive" src="@Url.Content(@item.gambar_barang)" alt="" />
                <div class="caption">
                    <h4 class="group inner list-group-item-heading">
                        @item.nama_barang
                    </h4>
                    <p class="group inner list-group-item-text">
                        <span class="label label-warning">@item.deksripsi_barang</span> 
                    </p>
                    <div class="row">
                        <div class="col-xs-1 col-md-6">
                            <input id="@item.nama_barang" type="number" class="rating" min="1" max="5" step="0.5" data-size="xs" value="@item.rating_barang">
                        </div>
                        <script>
                            $('#@item.nama_barang').rating('refresh', { disabled: true, showClear: false, showCaption: false });
                        </script>
                    </div>
                    <div class="row">
                        <div class="col-lg-5 col-xs-4">
                            <p class="lead" style="font-weight: bolder; color: red;">
                                @string.Format(new CultureInfo("id-ID"), "{0:C}", @item.harga_barang)
                            </p>
                        </div>
                        <div class="col-lg-1 col-xs-2">
                            <a class="btn btn-success btn-responsive btn-xs" onclick="addItemToCart('@item.id_barang')" href="#">Add to cart</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    }
</div>
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount

@*@Html.PagedListPager(Model, page => Url.Action("Index",
    new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))*@

<div id="myPager">
    @Html.PagedListPager(
        Model,
        page => Url.Action(
            "StoreItemView",
            new
            {
                jenis = ViewBag.jenis,
                sorting_key = ViewBag.sorting_key,
                Page_No = page
            }
        ),
                PagedListRenderOptions.PageNumbersOnly
    )
</div>

<script>
    $(function () {
        $('#myPager').on('click', 'a', function () {
            $.ajax({
                url: this.href,
                type: 'GET',
                cache: false,
                success: function (result) {
                    $('#container_item_store').html(result);
                    alert("sukses");
                },
                error: alert("bangsat")
            });
            return false;
        });
    });
</script>

это мой код для представления и этот контроллер, который обрабатывает это представление

[HttpGet]
public ActionResult StoreItemView(string jenis, string sorting_key, int? Page_No)
{

    ViewBag.jenis = jenis;
    ViewBag.sorting_key = sorting_key;
    List<StoreItemModel> products = StoreItemRepository.getItemList(jenis, sorting_key);
    foreach (var items in products)
    {
        items.rating_barang = StoreItemRepository.getRatingBarang(items.id_barang);
    }
    int Size_Of_Page = 4;
    int No_Of_Page = (Page_No ?? 1);
    PagedList.PagedList<StoreItemModel> show = new PagedList.PagedList<StoreItemModel>(products, No_Of_Page, Size_Of_Page);
    return PartialView("_StoreItem", show);
}

person Handaru Eri Pramudiya    schedule 31.12.2014    source источник
comment
Являются ли параметры jenis и sorting_key нулевыми или пустыми?   -  person Jeffrey Zhang    schedule 31.12.2014
comment
@JeffreyZhang для первого показа содержит string.empty. Потому что параметр порядка сортировки.   -  person Handaru Eri Pramudiya    schedule 31.12.2014
comment
Я могу вам помочь, если вы разместите свой код просмотра, содержащий тег ссылки. Пожалуйста, дайте те, которые помогут нам вести вас в правильном направлении.   -  person Aravindan    schedule 31.12.2014
comment
Вы их? Привет   -  person Aravindan    schedule 31.12.2014
comment
@Aravindan, извините за поздний ответ, я отредактировал свой вопрос. Вы можете увидеть это сейчас. Спасибо :)   -  person Handaru Eri Pramudiya    schedule 01.01.2015


Ответы (1)


Пожалуйста, используйте, как показано ниже

<div id="myPager" location="Url.Action("StoreItemView", new {jenis = ViewBag.jenis, sorting_key = ViewBag.sorting_key, Page_No = page})">

@Html.PagedListPager(
    Model,
    page => Url.Action("StoreItemView"),
    PagedListRenderOptions.PageNumbersOnly
)

and javascript must be like Before using the please check ViewBag.sorting_key and ViewBag.jenis is holding any value using alert in javascript. and I am not qable to see any tag with id="container_item_store". Make sure the container_item_store id must be place in some where in your view.

<script>
$(function () {
    $('#myPager').on('click', 'a', function () {
     var location = $(this).attr('location');
        $.ajax({
            url: location,
            type: 'GET',
            cache: false,
            success: function (result) {
                $('#container_item_store').html(result);
                alert("sukses");
            },
            error: alert("bangsat")
        });
        return false;
    });
});

person Aravindan    schedule 02.01.2015