MVC分页 页面html 拼接

/// <summary>
         /// 分页
         /// </summary>
         /// <param name="helper"></param>
         /// <param name="id">分页id</param>
         /// <param name="currentPageIndex">当前页</param>
         /// <param name="pageSize">分页尺寸</param>
         /// <param name="recordCount">记录总数</param>
         /// <param name="htmlAttributes">分页头标签属性</param>
         /// <param name="className">分页样式</param>
         /// <param name="mode">分页模式</param>
         /// <returns></returns>
         public  static  string  Pager( this  HtmlHelper helper,  string  id,  int  currentPageIndex,  int  pageSize,
                                    int  recordCount,  object  htmlAttributes,  string  className, PageMode mode)
         {
             TagBuilder builder =  new  TagBuilder( "div" );
             builder.IdAttributeDotReplacement =  "_" ;
             builder.GenerateId(id);
             builder.AddCssClass(className);
             builder.MergeAttributes( new  RouteValueDictionary(htmlAttributes));
             builder.InnerHtml = GetNormalPage(currentPageIndex, pageSize, recordCount, mode);
             return  builder.ToString();
         }
 
/// <summary>
         /// 获取普通分页
         /// </summary>
         /// <param name="currentPageIndex"></param>
         /// <param name="pageSize"></param>
         /// <param name="recordCount"></param>
         /// <returns></returns>
         private  static  string  GetNormalPage( int  currentPageIndex,  int  pageSize,  int  recordCount, PageMode mode)
         {
             int  pageCount = (recordCount % pageSize == 0 ? recordCount / pageSize : recordCount / pageSize + 1);
             StringBuilder url =  new  StringBuilder();
             url.Append(HttpContext.Current.Request.Url.AbsolutePath +  "?page={0}" );
             NameValueCollection collection = HttpContext.Current.Request.QueryString;
             string [] keys = collection.AllKeys;
             for  ( int  i = 0; i < keys.Length; i++)
             {
                 if  (keys[i].ToLower() !=  "page" )
                     url.AppendFormat( "&{0}={1}" , keys[i], collection[keys[i]]);
             }
             StringBuilder sb =  new  StringBuilder();
             sb.Append( "<div class='col-sm-6'>" );
             sb.Append( "<div class='dataTables_info' id='sample-table-2_info'>" );
             sb.AppendFormat( "总共{0}条记录,共{1}页,当前第{2}页&nbsp;&nbsp;" , recordCount, pageCount, currentPageIndex);
             sb.Append( "</div></div>" );
             sb.Append( "<div class='col-sm-6'>" );
             sb.Append( "<div class='dataTables_paginate paging_bootstrap'>" );
             sb.Append( "<ul class='pagination'>" );
             if  (currentPageIndex == 1)
                 sb.Append( "<li class='active'><a href='#'>首页</a></li>&nbsp;" );
             else
             {
                 string  url1 =  string .Format(url.ToString(), 1);
                 sb.AppendFormat( "<li><a href={0}>首页</a></li>&nbsp;" , url1);
             }
             if  (currentPageIndex > 1)
             {
                 string  url1 =  string .Format(url.ToString(), currentPageIndex - 1);
                 sb.AppendFormat( "<li class='prev'><a href={0}><i class='icon-double-angle-left'></i></a></li>&nbsp;" , url1);
             }
             else
                 sb.Append( "<li class='prev disabled'><a href='#'><i class='icon-double-angle-left'></i></a></li>&nbsp;" );
             if  (mode == PageMode.Numeric)
                 sb.Append(GetNumericPage(currentPageIndex, pageSize, recordCount, pageCount, url.ToString()));
             if  (currentPageIndex < pageCount)
             {
                 string  url1 =  string .Format(url.ToString(), currentPageIndex + 1);
                 sb.AppendFormat( "<li class='next'><a href={0}><i class='icon-double-angle-right'></i></a></li>&nbsp;" , url1);
             }
             else
                 sb.Append( "<li class='next disabled'><a href='#'><i class='icon-double-angle-right'></i></a></li>&nbsp;" );
 
             if  (currentPageIndex == pageCount)
                 sb.Append( "<li><a href='#'>末页</a></li>&nbsp;" );
             else
             {
                 string  url1 =  string .Format(url.ToString(), pageCount);
                 sb.AppendFormat( "<li><a href={0}>末页</a></li>&nbsp;" , url1);
             }
             sb.Append( "</ul>" );
             sb.Append( "</div>" );
             return  sb.ToString();
         }

猜你喜欢

转载自blog.csdn.net/fkedwgwy/article/details/79816153