asp.net mvc3分页代码

 最近在学asp.net mvc3,与asp.net webForm比起来。确实能提高不少效率,特别是数据校验和数据源方面,基本上不用自己手写。但是总担心其entity framework框架,会不会影响程序运行效率,下面是我自己写的分页代码,欢迎大家指教

 

  public ActionResult Index(int page)
        {
            int pageSize = 1;
            var query=ob.news.OrderByDescending(news=>news.id).Skip(pageSize*(page-1)).Take(pageSize);
            pageing pageInfo = new pageing();
            pageInfo.pageSize = pageSize;
            pageInfo.curentPage = page;
            pageInfo.totalCount = ob.news.Count();
            pageInfo.coustomUrl = "/news?";
            ViewBag.Page = pageInfo;
            return View(query);
          
        }

 

public class pageing
    {  
        /// <summary>
        /// 每页数量
        /// </summary>
        public int pageSize { get; set; }
       /// <summary>
        /// 当前页
       /// </summary>
        public int curentPage{ get; set; }
        /// <summary>
        /// 总数量
        /// </summary>
        public int totalCount { get; set; }
        /// <summary>
        /// 定义页页连接
        /// </summary>
        public string coustomUrl { get; set; }
        /// <summary>
        /// 自定义页面参数名
        /// </summary>
        public string coustomPageParName { get; set; }
        public string WrtiePage()
        {
          
            int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
            if (totalPage>1)
            {
              
                StringBuilder strs = new StringBuilder();

                strs.AppendFormat("<a href=\"{0}{1}={2}\">上一页</a> ", coustomUrl, string.IsNullOrEmpty(coustomPageParName) ? "page" : coustomPageParName, curentPage == 1 ? 1 : curentPage - 1);
                for (int i = curentPage==1?1:curentPage-1; i <= curentPage+5; i++)
                    {
                        if (i == curentPage)
                        {
                            strs.AppendFormat("<span id='curentPage'>{0}</span> ",i);
                        }
                        else
                        {
                            strs.AppendFormat("<a href=\"{0}{1}={2}\">{2}</a> ", coustomUrl, string.IsNullOrEmpty(coustomPageParName) ? "page" : coustomPageParName, i);

                        }
                        if (i == totalPage || i==totalPage/5) { break; }
                    }
                    strs.AppendFormat("<a href=\"{0}{1}={2}\">下一页</a> ", coustomUrl, string.IsNullOrEmpty(coustomPageParName) ? "page" : coustomPageParName, curentPage == totalPage ? totalPage : curentPage + 1);

                return   strs.ToString();
            }
            return "";
        }
    }
}

转载于:https://www.cnblogs.com/fogwang/archive/2013/03/09/2951417.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值