EF分页查询

控制器代码

 RbacDBEntities db = new RbacDBEntities();
  //pageIndex 第几页,pageSize 每页多少条   name 搜索条件
     public ActionResult Index(int pageIndex = 1, int pageSize = 2, string name = "") 
  {
         var fy = db.UserInfos.Where(p => p.Name.Contains(name))
        .OrderBy(p => p.ID)//主键排序
        .Skip(pageSize * (pageIndex - 1))//调过多少行
        .Take(pageSize).ToList();//取多少行
         int pageCount = db.UserInfos.Count();
         var rows = Math.Ceiling((pageCount* 1.0 / pageSize) );//总页数
         ViewBag.pageIndex = pageIndex;
         ViewBag.pageSize = pageSize;
         ViewBag.count =rows;
         ViewBag.name = name;
         return View(fy);
  }

页面代码

<div style="display:flex;justify-content:space-between">
 <div class="btn-group">
  <button type="button" class="btn btn-default">新增</button>
  <button type="button" class="btn btn-default">删除</button>
  </div>
    <div class="input-group">
      <label>名称</label>
       <input type="text" value="@ViewBag.name" id="txtCondName" />
         <input type="button" value="搜索" id="btnSearch" onclick="searchu();" />  
          </div>
          </div>

<table class="table table-bordered">
 <thead>
    <tr>
        <td>ID</td>
        <td>名字</td>
        <td>账号</td>
   </tr>
 </thead>
       <tbody>
        @foreach (var item in Model){
      <tr>
        <td>@item.ID</td>
        <td>@item.Name</td>
        <td>@item.Account</td>
      </tr>
      }
       </tbody>
           </table>


<nav aria-label="Page navigation" style="display:flex;justify-content:space-between">

<ul class="pagination">
  @{ var pagesize = new List<int> { 2, 5, 10 }; }
   <li>
     共 @ViewBag.Count 页,第<input type="text" id="pageIndex" value="@ViewBag.pageIndex" /> 页,每夜显示
      <select id="slt">
         @foreach (var item in pagesize)
         {
            if (item == ViewBag.pageSize)
           {
            <option selected="selected" value="@item">@item</option>
           }
            else
           {
            <option  value="@item">@item</option>
           }
           }
        </select></li>
 </ul>
  <ul class="pagination">
  <li><a href="/userInfo/index?pageIndex=1">首页</a></li>
   <li><a href="/userInfo/index?pageIndex=@(ViewBag.pageIndex-1)&pageSize=@ViewBag.pageSize&name=@ViewBag.name">上页</a></li>
            <li><a href="/userInfo/index?pageIndex=@(ViewBag.pageIndex+1)&pageSize=@ViewBag.pageSize&name=@ViewBag.name">下页</a></li>
            <li><a href="/userInfo/index?pageIndex=@ViewBag.count&pageSize=@ViewBag.pageSize&name=@ViewBag.name">末页</a></li>
            <li><input type="button" class="btn btn-danger" value="GO" onclick="searchu();" /></li>
             </ul>
             </nav>

@section scripts{
<script type="text/javascript">
 function searchu() {
 var pageIdex = $("#pageIndex").val();
   var pageSize = $("#slt").val();
   var name = $("#txtCondName").val();
   window.location.href = "/userInfo/index?pageIndex=" + pageIdex + "&pageSize=" + pageSize + "&name=" + name
     }
      </script>
      }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值