ฉันใช้สิ่งนี้เพื่อเพจรายการบันทึกในแอปพลิเคชัน ASP.NET MVC 4 ของฉัน: http://demo.taiga.nl/MvcPaging/Paging/ViewByCategory
ฉันต้องการเพิ่มเมนูแบบเลื่อนลงเพื่อเปลี่ยนค่าของขนาดหน้า เมื่อมีการเปลี่ยนแปลงรายการที่เลือกในเมนูแบบเลื่อนลง ฉันต้องการให้ขนาดหน้าเปลี่ยนแปลง ฉันไม่ต้องการใช้ขนาดหน้าเริ่มต้น
หลังจากดูความคิดเห็น นี่คือสิ่งที่ฉันทำใน Index.cshtml ดูหลังองค์ประกอบ <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>
}
การดำเนินการดัชนีของตัวควบคุม 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));
}
การเปลี่ยนหมายเลขหน้าใช้งานได้ แต่เมื่อฉันเปลี่ยนขนาดหน้าด้วยดรอปดาวน์และเลือก 2 เป็นหมายเลขหน้า มันจะใช้ขนาดหน้าเริ่มต้น...
ฉันเดาว่าเป็นเพราะปุ่มเลือกหน้าไม่ส่งขนาดหน้าที่เลือกจากดรอปดาวน์...ฉันจะรับค่าที่เลือกจากดรอปดาวน์ในวิธีดำเนินการดัชนีได้อย่างไร
ฉันจะส่งค่าที่เลือกจากดรอปดาวน์ทุกครั้งที่เลือกปุ่มหน้าได้อย่างไร ดูเหมือนว่าจะใช้งานได้โดยเลือกดรอปดาวน์ใช่ไหม
อาจมีวิธีแก้ปัญหาที่ดีกว่านี้?