Asp.net MVC 的一些总结(一)——分页

背景介绍,这篇文章是的内容里,出现的back是 EF 对象(大家都懂!^0^)

 

     这里解释下,ActionResult 大家都懂,返回给视图了。而传的参数:int? page ,经过楼主的思考,还是用了((*^__^*) 第一次用,之前只知道有这个东西)

 但是这里遇见个问题,请大家指教了:当使用三元表达式的时候,就报错了,无法获得默认值。代码:Int32 n=page.HasValue?1:page.Value;这么久得不到值呢!

 后就只能用if语句了!

    当然当你看这篇文章的时候,你已经会了asp.net mvc了!下面的Linq语句就不解释了。Skip是跳过多少,Take是取多少条。当然还有下面的Lamda表达式也就不解释了。

   业务说明:传进来 页数page  ,每次获得15条数据 ,取得总条数和总页数和:Math.Ceiling 向上取整。后台代码如下:

 1        //在线信息
 2         public ActionResult AdminThing(int? page)
 3         {
 4             //获得数据
 5             Int32 n = 1;
 6             if (page.HasValue)
 7             { n = page.Value; }
 8             var querys = (from t in back.things orderby t.thingid where t.label == 1 select t).Skip(15 * (n - 1)).Take(15); 9 ViewBag.AdminThing = querys; 10 11 //获得页数 12 var count = back.things.Count(t => t.label == 1); 13 //取得总页数 14 int Allpage = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(count / 15.0))); 15 ViewBag.Allpage = Allpage; 16 17 18 return View(); 19 }

  视图页面:

      这里的视图是cshtml ,布局就不说了,可以看一些BootStrap的分页,都是很漂亮的。这里用的是a标签链接地址为:刚才的Action加不同的参数来请求数据。

               <!--分页-->
               <div style="float:right;">
                  <ul class="pagination">

                  @{
                         int allpage = ViewBag.Allpage;
                      <li><a href="AdminThing?page=1">«</a></li>
                      for (int i = 1; i <= allpage; i++)
                      {
                             <li><a href="AdminThing?page=@i">@i</a></li>
                      }
                       <li><a href="AdminThing?page=@allpage">»</a></li>
                  }

                  </ul>
                </div>

  

 总结:当有怎样的需求的时候,就怎样求得。后期开发将转型 Jquery-ajax来无刷新操作。

 

转载于:https://www.cnblogs.com/LABELNET/p/4384714.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值