亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET MVC4 HtmlHelper擴展類,實現分頁功能

2024-07-10 13:30:05
字體:
來源:轉載
供稿:網友
本文主要做了一個HtmHelper類的分頁擴展函數,方便在視圖中調用,有需要的朋友可以參考一下,希望對大家有所幫助。
 

1、擴展HtmlHelper類方法ShowPageNavigate

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)  {    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={2}'>上一頁</a> ", redirectTo, currentPage - 1, pageSize);    }    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='pageLink' 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);    }    output.Append(" ");    if (currentPage != totalPages)    {      output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末頁</a> ", redirectTo, totalPages, pageSize);    }    output.Append(" ");  }  output.AppendFormat("<label>第{0}頁 / 共{1}頁</label>", currentPage, totalPages);//這個統計加不加都行  return new HtmlString(output.ToString());}

2、添加公共類PagerInfo,PageQuery

public class PagerInfo{  public int RecordCount { get; set; }  public int CurrentPageIndex { get; set; }  public int PageSize { get; set; }}public class PagerQuery<TPager, TEntityList>{  public PagerQuery(TPager pager, TEntityList entityList)  {    this.Pager = pager;    this.EntityList = entityList;  }  public TPager Pager { get; set; }  public TEntityList EntityList { get; set; }}

3、然后在Controller里面添加Action

public ActionResult Index(int? pageSize, int? pageIndex){  int pageIndex1 = pageIndex ?? 1;  int pageSize1 = pageSize ?? 5;  int count = 0;  //從數據庫在取得數據,并返回總記錄數  var temp = newsSer.LoadPageEntities(c => true, c => c.id, false, pageSize1, pageIndex1, out count);  PagerInfo pager = new PagerInfo();  pager.CurrentPageIndex = pageIndex1;  pager.PageSize = pageSize1;  pager.RecordCount = count;  PagerQuery<PagerInfo, IQueryable<news>> query = new PagerQuery<PagerInfo, IQueryable<news>>(pager, temp);  return View(query);}

4、View里的部分代碼

<tbody>  @foreach (var item in Model.EntityList)  {    <tr>      <td class="checkBox">        <input name="ids[]" type="checkbox" value="" />      </td>      <td>        @item.author      </td>      <td>        @item.title      </td>      <td>        @item.ctime      </td>      <td>        @Html.ActionLink("編輯", "Edit", new { id = item.id }) |        @Html.ActionLink("刪除", "Delete", new { id = item.id })      </td>    </tr>  }  @*分頁*@  <tr class="">    <td colspan="5" align="center" class="paginator">      <span>        @Html.ShowPageNavigate(Model.Pager.CurrentPageIndex, Model.Pager.PageSize, Model.Pager.RecordCount)      </span>    </td>  </tr></tbody>

5、添加一些樣式

.paginator{  font: 12px Arial, Helvetica, sans-serif;  padding: 10px 20px 10px 0;  margin: 0px auto;} .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: Arial,SimSun;  padding: 0 3px;} .paginator label{  display:block;    float:left;  }

6.總結

這個案例簡單實現了在MVC中快速分頁,其實很多開源的項目中都有相關的HtmlHepler的擴展函數,其中也不乏帶有分頁的擴展,例如著名的開源商城項目nopCommerce,其中有就一個HtmlExtensions.cs擴展類,里面就有關于分頁的擴展,人家寫的可是相當專業哦,有興趣的可以研究一下。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产mv免费观看入口亚洲| 亚洲天堂av在线播放| 亚洲欧洲在线播放| 91免费精品国偷自产在线| 亚洲天堂男人的天堂| 亚洲成人精品视频| 久久久久久网址| 欧美日韩国产综合新一区| 夜夜嗨av色综合久久久综合网| 中文字幕久热精品视频在线| 91精品久久久久久久久久| 91久热免费在线视频| 国产高清视频一区三区| 午夜精品视频网站| 欧美影院成年免费版| 亚洲自拍偷拍第一页| 国产精品一区二区久久国产| 国产成人久久精品| 青青在线视频一区二区三区| 欧美日韩中文在线| 亚洲第一天堂av| 成人妇女免费播放久久久| 亚洲成色www8888| 欧美激情亚洲一区| 国内精品视频一区| 精品久久久视频| 国产精品日日摸夜夜添夜夜av| 91精品国产99| 狠狠躁夜夜躁人人爽天天天天97| 亚洲欧美日韩国产精品| 国产激情999| 5252色成人免费视频| 日韩大片免费观看视频播放| 成人国产精品日本在线| 国产精品久久国产精品99gif| 久久成人亚洲精品| 92版电视剧仙鹤神针在线观看| 亚洲国产精品999| 亚洲成人aaa| 日韩成人高清在线| 日韩欧美国产免费播放| 性色av一区二区咪爱| 国产精品视频播放| 国产精品久久久av久久久| 国产精品9999| 亚洲91精品在线| 久久亚洲一区二区三区四区五区高| 亚洲国产成人在线播放| 国产日韩精品电影| 国产精品一区二区三区免费视频| 久久国产天堂福利天堂| 日本不卡视频在线播放| 久久精品电影一区二区| 韩日欧美一区二区| 日韩成人中文字幕在线观看| 色爱av美腿丝袜综合粉嫩av| 欧美日韩裸体免费视频| 国产精品美女免费视频| 亚洲伊人一本大道中文字幕| 精品久久久av| 日韩av在线免费观看| 国产精品福利在线观看网址| 亚洲精品日韩在线| 亚洲人成电影网站色…| 91精品国产色综合久久不卡98| 日韩在线观看成人| 秋霞午夜一区二区| 午夜精品久久久久久久久久久久久| 国产脚交av在线一区二区| 精品国产网站地址| 亚洲精品狠狠操| 亚洲一二三在线| 亚洲日本成人女熟在线观看| 伊人久久免费视频| 亚洲精品国产综合区久久久久久久| 国产精品视频公开费视频| 欧美大片欧美激情性色a∨久久| 久久久久国产精品www| 欧美黑人xxxⅹ高潮交| 国产精品一区专区欧美日韩| 97精品在线视频| 国产精品尤物福利片在线观看| 欧美日韩国产影院| 欧美极品少妇xxxxⅹ免费视频| 亚洲欧美在线播放| 九九热r在线视频精品| 国产精品久久不能| 久久精品亚洲94久久精品| 国产国语videosex另类| 日韩亚洲精品电影| 国模精品视频一区二区| 国产极品jizzhd欧美| 久久九九免费视频| 亚洲国产中文字幕在线观看| 日本精品视频在线| 欧美性做爰毛片| 亚洲福利视频二区| 国产成人久久久精品一区| 久久久久久亚洲精品| 欧美专区中文字幕| 亚洲自拍偷拍第一页| 538国产精品一区二区在线| 国产成人精品免高潮费视频| 欧美日韩电影在线观看| 色综合导航网站| 97视频在线免费观看| 一本色道久久综合狠狠躁篇怎么玩| 国产精品视频中文字幕91| 国产日韩欧美91| 成人国内精品久久久久一区| 欧美夜福利tv在线| 亚洲黄色免费三级| 91香蕉亚洲精品| 欧美另类在线播放| 久久久久久久久91| 亚洲精品在线观看www| 中文字幕亚洲精品| 国产suv精品一区二区三区88区| 亚洲乱码av中文一区二区| 久久久久久亚洲精品| 91高清视频免费观看| 欧美最猛性xxxxx免费| 亚洲欧美日韩区| 亚洲国产成人精品久久| 亚洲区中文字幕| 久久不射热爱视频精品| 国产精品第一视频| 91色中文字幕| 久久精品国产亚洲精品| 欧美高清性猛交| 欧美日韩亚洲激情| 中文字幕日本欧美| 91热精品视频| 福利一区视频在线观看| 亚洲成人黄色在线| 亚洲黄色片网站| 国产精品一区二区三| 最新91在线视频| 亚洲欧美国产精品久久久久久久| 91高清免费视频| 国产噜噜噜噜噜久久久久久久久| 久久久久久久999精品视频| 国产精品久久久久久av| 国产aⅴ夜夜欢一区二区三区| 亚洲美女动态图120秒| 欧美天天综合色影久久精品| 国产一区二中文字幕在线看| 成人国产精品久久久久久亚洲| 伊人久久免费视频| 国产一区二区免费| 久久综合电影一区| 久久99热这里只有精品国产| 国产成人一区二区三区小说| 日韩精品极品视频免费观看| 亚洲午夜国产成人av电影男同| 国产91精品久久久久久| 亚洲女同性videos| 欧美午夜激情小视频| 国产精品国产三级国产aⅴ9色| 一区二区三区国产在线观看| 亚洲综合在线播放| 久久精品久久久久久国产 免费| 色偷偷av亚洲男人的天堂| 国产精品吊钟奶在线|