zoukankan      html  css  js  c++  java
  • 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 "";
            }
        }
    }

  • 相关阅读:
    双色球相关
    儿童教学相关网站
    [转]javascript实现限制上传文件的大​​小
    使用存储过程 修改符合条件的数据表的相关字段 的数据类型
    [转]bat批处理实现TXT文本合并
    [转]在SQL中用正则表达式替换html标签
    [转]T4模版引擎之生成数据库实体类
    [转]C#中图片.BYTE[]和base64string的转换
    [书目20131114]微软技术丛书•快速软件开发(珍藏版) Rapid Development Taming Wild Software Schedules By Steve McConnell
    人体穴位
  • 原文地址:https://www.cnblogs.com/fogwang/p/2951417.html
Copyright © 2011-2022 走看看