MVC如何生成頁碼選擇器返回HTML代碼-創(chuàng)新互聯(lián)

小編給大家分享一下MVC如何生成頁碼選擇器返回HTML代碼,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

10多年的城固網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整城固建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“城固網(wǎng)站設(shè)計(jì)”,“城固網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

我主要講此代碼用于MVC的分布頁。

先看最終效果最終效果:

MVC如何生成頁碼選擇器返回HTML代碼

MVC如何生成頁碼選擇器返回HTML代碼

MVC如何生成頁碼選擇器返回HTML代碼

MVC如何生成頁碼選擇器返回HTML代碼

MVC如何生成頁碼選擇器返回HTML代碼

MVC如何生成頁碼選擇器返回HTML代碼

樣式為bootstrap3中的分頁“pagination”,如果不使用bootstrap單獨(dú)提出來并不大

頁碼生成代碼為:

public string GetPaginationHtml(PaginationViewModel p)
{
  var PageNum = p.Page;//當(dāng)前頁碼(頁碼從1開始)
  var PageCount = p.PageCount;//總頁數(shù)
  var ItemCount = p.ItemCount;//總條數(shù)

  var showPageNum = 6;//顯示數(shù)字的頁面數(shù)量

  var html = new StringBuilder();
  html.Append(string.Format("<ul class='pagination' id='{0}' data-data='{1}'>", p.ULID, p.Data));//ULID和Data是方便在前臺(tái)增加事件用的
  if (PageCount > 1)
  {
    var startPage = 1;
    if (showPageNum > PageCount)
    {
      startPage = 1;
    }
    else
    {
      if (PageNum - (showPageNum / 2) <= 0)
      {
        startPage = 1;
      }
      else if (PageNum + (showPageNum / 2) >= PageCount)
      {
        startPage = PageCount - showPageNum;
      }
      else
      {
        startPage = PageNum - (showPageNum / 2);
      }
    }
    startPage = (startPage == 0 ? 1 : startPage);//第一個(gè)開始顯示數(shù)字的頁碼
    //上一頁按鈕
    html.Append(string.Format("<li class='{0}'><a href='#' class='js-pageSelect' data-page='{1}'><span>上一頁</span></a></li>", PageNum <= 1 ? "disabled" : "", PageNum - 1));

    if (startPage > 1)//生成第一頁按鈕和中間省略號(hào)
    {
      html.Append("<li><a class='js-pageSelect'' href='#' data-page='1'>1</a></li>");
      if (startPage > 2)
      {
        html.Append("<li><span>...</span></li>");
      }
    }
    for (int i = startPage; i <= (startPage + showPageNum); i++)//生成頁碼
    {
      if (i > PageCount)
      {
        break;
      }
      html.Append(string.Format("<li class='{0}'><a class='js-pageSelect'' href='#' data-page='{1}'>{2}</a></li>", i == PageNum ? "active" : "", i, i));
    }

    //生成最后一頁按鈕和中間省略號(hào)
    int maxShowPage = startPage + showPageNum;
    if (maxShowPage <= PageCount - 1)
    {
      if(maxShowPage <= PageCount - 2)
      {
        html.Append("<li><span>...</span></li>");
      }
      html.Append(string.Format("<li><a class='js-pageSelect'' href='#' data-page='{0}'>{1}</a></li>",PageCount,PageCount));
    }
    //顯示下一頁按鈕
    html.Append(string.Format("<li class='{0}'><a href='#' class='js-pageSelect' data-page='{1}'><span>下一頁</span></a></li>", PageNum >= PageCount ? "disabled" : "", PageNum + 1));
    //顯示頁碼信息
    html.Append(string.Format("<li><span>第{0}頁 共{1}頁{2}條內(nèi)容</span></li>", PageNum, PageCount, ItemCount));
  }
  else
  {
    //內(nèi)容不足一頁時(shí)顯示的內(nèi)容
    html.Append(string.Format("<li><span>共1頁{0}條內(nèi)容</span></li>", ItemCount));
  }
  return html.ToString();
}

用的時(shí)候直接放到MVC Controllers 中ActionResult 返回Content(html)。

頁面中可以直接


@Html.Action("", new {page = 1,pageSize = 20, ... })

 也可以

$.ajax({
 url: '/Function/FileArchiveSelectShouWenDengJiTableMessage',
 type: 'post',
 dataType: 'html',
 data: {
  page: page,
  pageSize: pagesize,
  ...
  },
})
.done(function (data) {
 $('#ShouWenPageSelect').html(data);
 InitPageSelectEvent();
});

看完了這篇文章,相信你對(duì)“MVC如何生成頁碼選擇器返回HTML代碼”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前名稱:MVC如何生成頁碼選擇器返回HTML代碼-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article32/dsihsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、微信小程序、云服務(wù)器、服務(wù)器托管靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)