У меня проблема при реализации 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);
}