MVC產生頁碼選取器返回HTML代碼,mvc頁碼選取器html

來源:互聯網
上載者:User

MVC產生頁碼選取器返回HTML代碼,mvc頁碼選取器html

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

先看最終效果最終效果:

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

頁碼產生代碼為:

public string GetPaginationHtml(PaginationViewModel p){    var PageNum = p.Page;//當前頁碼(頁碼從1開始)    var PageCount = p.PageCount;//總頁數    var ItemCount = p.ItemCount;//總條數    var showPageNum = 6;//顯示數位頁面數量    var html = new StringBuilder();    html.Append(string.Format("<ul class='pagination' id='{0}' data-data='{1}'>", p.ULID, p.Data));//ULID和Data是方便在前台增加事件用的    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);//第一個開始顯示數位頁碼        //上一頁按鈕        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)//產生第一頁按鈕和中間省略符號        {            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));        }        //產生最後一頁按鈕和中間省略符號        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}條內容</span></li>", PageNum, PageCount, ItemCount));    }    else    {        //內容不足一頁時顯示的內容        html.Append(string.Format("<li><span>共1頁{0}條內容</span></li>", ItemCount));    }    return html.ToString();}

用的時候直接放到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();});

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.