Saya telah menggunakan ini untuk membuat halaman daftar catatan di aplikasi ASP.NET MVC 4 saya: http://demo.taiga.nl/MvcPaging/Paging/ViewByCategory
Saya ingin menambahkan dropdown untuk mengubah nilai ukuran halaman. Saat mengubah item yang dipilih di dropdown, saya ingin ukuran halaman diubah. Saya tidak ingin menggunakan ukuran halaman default.
Setelah melihat komentar, inilah yang saya lakukan di Tampilan Index.cshtml setelah elemen <table>
:
<div class="pager">
@Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount)
Displaying @Model.ItemStart - @Model.ItemEnd of @Model.TotalItemCount items(s)
</div>
@using (Html.BeginForm()) {
<div id="pro_pag2">
@Html.DropDownList("PageSize", new SelectList(new Dictionary<string, int> { { "10", 10 }, { "20", 20 }, { "100", 100 } }, "Key", "Value"), new { @class = "pro_pag_tf1", id = "pagesizelist" })
</div>
}
@section scripts {
<script type="text/javascript">
$('#pagesizelist').on('change', function (event) {
var form = $(event.target).parents('form');
form.submit();
});
</script>
}
Tindakan indeks pengontrol Index.cs:
public ActionResult Index(int? PageSize, int? page)
{
int? DefaultPageSize = 10;
int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
if (PageSize != null) {
DefaultPageSize = PageSize;
}
return View(contractsList.ToPagedList(currentPageIndex, (int)DefaultPageSize));
}
Penggantian nomor halaman berfungsi. Tetapi ketika saya mengubah ukuran halaman dengan dropdown dan memilih 2 sebagai nomor halaman maka defaultnya adalah ukuran halaman...
Saya kira ini karena tombol halaman yang dipilih tidak mengirimkan ukuran halaman yang dipilih dari dropdown...bagaimana cara mendapatkan nilai yang dipilih dari dropdown dalam metode tindakan Indeks?
Bagaimana saya bisa meneruskan nilai yang dipilih dari dropdown setiap kali saya memilih tombol halaman? Tampaknya berfungsi hanya dengan memilih dropdown?
Mungkin ada solusi yang lebih baik?