【菜鳥看框架】——MVC+EF實現分頁
阿新 • • 發佈:2019-01-25
二、分頁顯示的樣式程式碼public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount) { var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath; pageSize = pageSize == 0 ? 3 : pageSize; var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1);//總頁數 var output = new StringBuilder(); if (totalPages > 1) { //if (currentPage!=1) {//處理首頁連線 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首頁</a>", redirectTo, pageSize); } if (currentPage > 1) {//處理上一頁的連線 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}&pageSize={2}'>上一頁</a>", redirectTo, currentPage - 1, pageSize); } else { //output.Append("<span class='pageLink'>上一頁</span>"); } output.Append(" "); int currint = 5; for (int i = 0; i < 10; i++) {//一共最多系那是10個頁碼,前面5個後面5個 if ((currentPage + i -currint) >= 1 && (currentPage + i - currint)<=totalPages) { if (currint==i) {//當前頁處理 output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1} & pageSize={2}'>{3}</a>",redirectTo,currentPage,pageSize,currentPage); } else {//一般頁處理 output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1} & pageSize={2}'>{3}</a>", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint); } } output.Append(" "); } if (currentPage < totalPages) {//處理下一頁的連線 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1} & pageSize={2}'>下一頁</a>", redirectTo, currentPage + 1, pageSize); } else { } output.Append(" "); if (currentPage!=totalPages) { output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1} & pageSize={2}'>末頁</a>", redirectTo, totalPages, pageSize); } output.Append(" "); } output.AppendFormat("第{0}頁 / 共{1}頁", currentPage, totalPages);//這個統計加不加都行 return new HtmlString(output.ToString()); }
<style type ="text/css"> .paginator { font:12px Arial,Helvetica,sans-serif; padding:10px 20px 10px 0; margin:0px; } .paginator a { border:solid 1px #ccc; color:#0063dc; cursor:pointer; text-decoration:none; } .paginator a:visited { padding:1px 6px; border:solid 1px #ddd; background:#fff; text-decoration:none; } .paginator .cpb { border:1px solid #F50; font-weight:700; color:#F50; background-color:#ffeee5; } .paginator a:hover { border:solid 1px #F50; color:#f60; text-decoration:none; } .paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover { float:left; height:16px; line-height:16px; min-width:10px; _width:10px; margin-right:5px; text-align:center; white-space:nowrap; font-size:12px; font-family:Arialm,SimSun; padding:0 3px; } </style>
三、View層程式碼