分页查询
分页查询控制器代码
public ActionResult Index(int pageIndex=1,int pageSize=10,string name="")
{
var totalRows = db.Roles.Count();
var totalPages = Math.Ceiling(totalRows * 1.00 / pageSize);
ViewBag.totalPages = totalPages;
var roles = db.Roles.Where(p=>p.Name.Contains(name))
.OrderBy(p=>p.ID)
.Skip((pageIndex-1) * pageSize)
.Take(pageSize)
.ToList();
ViewBag.pageIndex = pageIndex;
ViewBag.name = name;
ViewBag.pageSize = pageSize;
return View(roles);
}
<select id="pageSize" onchange="page(1);">
@{
var listPageSize = new List<int> { 5, 10, 20, 50, 100 };
}
@foreach (var item in listPageSize)
{
if (@ViewBag.pageSize == @item) /
/判断当前页是否等于下拉框的值,等于则选中selected="selected" 固定该值
{
<option value="@item" selected="selected">@item</option>
}
else
{
<option value="@item">@item</option>
}
}
</select>
条
</li>
</ul>
<ul class="pagination">
<li class="page-item ">
<a class="page-link" href="javascript:page(1);" tabindex="-1" aria-disabled="true">首页</a>
</li>
@if (@ViewBag.pageIndex > 1)
{
<li class="page-item"><a class="page-link" href="javascript:page(@ViewBag.pageIndex-1);">上页</a></li>
}
else
{
<li class="page-item disabled"><a class="page-link" href="javascript:page(@ViewBag.pageIndex-1);">上页</a></li>
}
<li class="page-item " aria-current="page">
<span class="page-link"> @ViewBag.pageIndex</span>
</li>
@if (@ViewBag.pageIndex < @ViewBag.totalPages)
{
<li class="page-item " aria-current="page">
<a class="page-link" href="javascript:page(@ViewBag.pageIndex+1);">下页 </a>
</li>
}
else
{
<li class="page-item disabled" aria-current="page">
<a class="page-link" href="javascript:page(@ViewBag.pageIndex+1);">下页 </a>
</li>
}
<li class="page-item">
<a class="page-link" href="javascript:page(@ViewBag.totalPages);">末页</a>
</li>
<li class="page-item">
<input type="button" class="page-link" value="GO" onclick="go()" />
</li>
</ul>
@section scripts{
<script>
function page(pageIndex) {
var name = $("#txtCondName").val();
var pageSize = $("#pageSize").val();
window.location.href = "/role/index?pageindex=" + pageIndex
+ "&pageSize=" + pageSize + "&name=" + name;
}
function go() {
var pageIndex = $("#pageIndex").val();
page(pageIndex);
}
</script>
}