溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MVC分頁讓你更爽

發(fā)布時(shí)間:2020-08-28 06:59:19 來源:網(wǎng)絡(luò) 閱讀:668 作者:杜碧君 欄目:編程語言

創(chuàng)建Controller控件器與強(qiáng)類型視圖呢,還有Models里面的對象實(shí)體,相信你們看了我之前發(fā)的就能創(chuàng)建好了,在這里呢就不創(chuàng)建了哈親

 

MVC分頁讓你更爽

在用戶控件器里面寫代碼了

下面這個(gè)分頁的方法

  1. /// <summary> 
  2.        /// 用戶信息分頁 
  3.        /// </summary> 
  4.        /// <returns></returns> 
  5.        public ActionResult UserDataPage() 
  6.        { 
  7.            EFFristModelEntities ef = new EFFristModelEntities(); 
  8.            int pageIndex = 1;//記錄頁的條數(shù) 
  9.            int pageSize = 3;//每頁顯示的條數(shù) 
  10.            int.TryParse(Request.QueryString["pageIndex"],out pageIndex);//強(qiáng)轉(zhuǎn)一下這個(gè)記錄頁的條數(shù) 
  11.            int pageIndexCount =Convert.ToInt32(ef.UserInfo.Count());//獲取 總的記錄數(shù) 
  12.            int pageCount = Convert.ToInt32(Math.Ceiling(pageIndexCount*1.0/pageSize));//獲取總的頁數(shù) 
  13.            //判斷頁的取值范圍 
  14.            if (pageIndex < 1) 
  15.            { 
  16.                pageIndex = 1; 
  17.            } 
  18.            if (pageIndex > pageCount) 
  19.            { 
  20.                pageIndex = pageCount; 
  21.            } 
  22.            //Linq語句 
  23.            var temp = from user in ef.UserInfo 
  24.                       .OrderBy(user => user.ID) 
  25.                       .Skip((pageIndex - 1) * pageSize)//跳過的序列 
  26.                       .Take(pageSize)//返回指定數(shù)量的元素 
  27.                       select user; 
  28.            ViewData.Model = temp;//把這個(gè)Linq語句讀取的數(shù)據(jù)給這個(gè)實(shí)體model 
  29.            ViewData["pageIndex"] = pageIndex; 
  30.            ViewData["pageIndexCount"] = pageIndexCount; 
  31.            ViewData["pageCount"] = pageCount; 
  32.            ViewData["pageSize"] = pageSize; 
  33.            return View(); 
  34.        } 

這個(gè)在前臺循環(huán)的展示數(shù)據(jù)

  1. <%for (int i = 1; i <= Convert.ToInt32(ViewData["pageCount"]); i++) 
  2.      { %> 
  3.        <%:Html.ActionLink(i.ToString(),"UserDataPage",new {pageIndex=i}) %><!--這用到了Html.ActionLink鏈接標(biāo)簽里面的參數(shù)有一個(gè)文本鏈接就是所得到的數(shù)字,第二個(gè)參數(shù)為執(zhí)行的方法,第三個(gè)是值--> 
  4.    <%} %> 
  5.    <%:"當(dāng)前頁:" + ViewData["pageSize"] + "數(shù)據(jù)"%>&nbsp;<%:"共:"+ViewData["pageIndexCount"]+"條" %>&nbsp;<%:"共:"+ViewData["pageCount"]+"頁" %>&nbsp; 
  6.  

第二種分頁  有樣式

這個(gè)是在models里面創(chuàng)建的類 是一個(gè)靜態(tài)的類型為HtmlString的 是微軟定義的一個(gè)類

  1. public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount) 
  2.         { 
  3.             var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath; 
  4.             pageSize = pageSize == 0 ? 3 : pageSize; 
  5.             var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //總頁數(shù) 
  6.             var output = new StringBuilder(); 
  7.             if (totalPages > 1) 
  8.             { 
  9.                 //if (currentPage != 1) 
  10.                 {//處理首頁連接 
  11.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首頁</a> ", redirectTo, pageSize); 
  12.                 } 
  13.                 if (currentPage > 1) 
  14.                 {//處理上一頁的連接 
  15.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一頁</a> ", redirectTo, currentPage - 1, pageSize); 
  16.                 } 
  17.                 else 
  18.                 { 
  19.                     // output.Append("<span class='pageLink'>上一頁</span>"); 
  20.                 } 
  21.  
  22.                 output.Append(" "); 
  23.                 int currint = 5; 
  24.                 for (int i = 0; i <= 10; i++) 
  25.                 {//一共最多顯示10個(gè)頁碼,前面5個(gè),后面5個(gè) 
  26.                     if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages) 
  27.                     { 
  28.                         if (currint == i) 
  29.                         {//當(dāng)前頁處理 
  30.                             //output.Append(string.Format("[{0}]", currentPage)); 
  31.                             output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage); 
  32.                         } 
  33.                         else 
  34.                         {//一般頁處理 
  35.                             output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint); 
  36.                         } 
  37.                     } 
  38.                     output.Append(" "); 
  39.                 } 
  40.                 if (currentPage < totalPages) 
  41.                 {//處理下一頁的鏈接 
  42.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一頁</a> ", redirectTo, currentPage + 1, pageSize); 
  43.                 } 
  44.                 else 
  45.                 { 
  46.                     //output.Append("<span class='pageLink'>下一頁</span>"); 
  47.                 } 
  48.                 output.Append(" "); 
  49.                 if (currentPage != totalPages) 
  50.                 { 
  51.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末頁</a> ", redirectTo, totalPages, pageSize); 
  52.                 } 
  53.                 output.Append(" "); 
  54.             } 
  55.             output.AppendFormat("第{0}頁 / 共{1}頁", currentPage, totalPages);//這個(gè)統(tǒng)計(jì)加不加都行 
  56.  
  57.             return new HtmlString(output.ToString()); 
  58.         } 
  59. 在前臺調(diào)用這個(gè)方法即可
  60.  
    1. <div class="page_nav"> 
    2.     <%:Html.ShowPageNavigate(Convert.ToInt32(ViewData["pageIndex"]),3,Convert.ToInt32(ViewData["pageCount"])) %> 
    3.    </div> 
    4.    <p> 

    這個(gè)是樣式文件夾 這個(gè)呢可以在網(wǎng)上扒的哈,我這不一定你就能用的哦 親

    MVC分頁讓你更爽

    1. .paginator 
    2.     font12px ArialHelveticasans-serif
    3.     padding10px 20px 10px 0
    4.     margin0px
    5.  
    6. .paginator a 
    7.     bordersolid 1px #ccc
    8.     color#0063dc
    9.     cursorpointer
    10.     text-decorationnone
    11.  
    12. .paginator a:visited 
    13.     padding1px 6px
    14.     bordersolid 1px #ddd
    15.     background#fff
    16.     text-decorationnone
    17.  
    18. .paginator .cpb 
    19.     border1px solid #F50
    20.     font-weight700
    21.     color#F50
    22.     background-color#ffeee5
    23.  
    24. .paginator a:hover 
    25.     bordersolid 1px #F50
    26.     color#f60
    27.     text-decorationnone
    28.  
    29. .paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover 
    30.     floatleft
    31.     height16px
    32.     line-height16px
    33.     min-width10px
    34.     _width10px
    35.     margin-right5px
    36.     text-aligncenter
    37.     white-spacenowrap
    38.     font-size12px
    39.     font-familyArial,SimSun; 
    40.     padding0 3px
    41. /*****************************2*/ 
    42. .page_nav, 
    43.  
    44. #commentpage{clear:bothpadding:15px 0color:#666font:normal 12px/24px Arialtext-align:center;} 
    45.  
    46. .page_nav a, 
    47.  
    48. #commentpage a{display:inline-blockheight:22pxmargin:0 2pxpadding:0 8pxborder:solid 1px #dbe5ee; -moz-border-radius:2px; -webkit-border-radius:2px; -khtml-border-radius:2px; border-radius:2pxbackground:#fffcolor:#333font:normal 12px/22px ArialHelveticasans-serifcursor:pointer;} 
    49.  
    50.     .page_nav strong{display:inline-blockheight:24pxmargin:0 3pxpadding:0 8pxborder:none; -moz-border-radius:2px; -webkit-border-radius:2px; -khtml-border-radius:2px; border-radius:2pxbackground:#c00color:#ffffont-weight:normalline-height:24pxtext-decoration:none;} 
    51.  
    52.     .page_nav a:hover, 
    53.  
    54.     .page_nav a.on{height:24pxmargin:0 3pxborder:nonebackground:#c00color:#fffline-height:24pxtext-decoration:none;} 
    55.  
    56.     .page_nav a.select{cursor:default;} 
    57.  
    58.     .page_nav .view_all{display:blocktext-align:center;} 
    59.  
    60.     .page_nav .view_all a{height:automargin:0padding:0border:nonecolor:#06cline-height:24px;} 
    61.  
    62.     .page_nav .view_all a:hover{height:automargin:0padding:0background:none;} 

     

 

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI