- 分页查询控制器
- 分页查询前台界面
- 分页查询JS代码
分页查询控制器
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);
}
前台代码
@{
ViewBag.Title = “Index”;
}
/value="@ViewBag.name" 固定查询条件,防止查询条件因页面刷新刷新
@foreach (var item in Model) { }
编号 | 名称 | 备注 |
---|---|---|
@item.ID | @item.Name | @item.Remark |
@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>
}