最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MVC生成頁碼選擇器返回HTML代碼詳解

 更新時間:2017年08月30日 13:58:37   作者:隨緣  
這篇文章主要為大家詳細介紹了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();
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Json.net 常用使用小結(推薦)

    Json.net 常用使用小結(推薦)

    下面小編就為大家?guī)硪黄狫son.net 常用使用小結(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • ASP.NET數據綁定之DataList控件實戰(zhàn)篇

    ASP.NET數據綁定之DataList控件實戰(zhàn)篇

    這篇文章主要為大家介紹了ASP.NET數據綁定中的DataList控件,DataList控件以表的形式呈現數據,通過該控件,您可以使用不同的布局來顯示數據記錄,對DataList控件感興趣的小伙伴們可以參考一下
    2016-01-01
  • asp.net正則表達式刪除指定的HTML標簽的代碼

    asp.net正則表達式刪除指定的HTML標簽的代碼

    抓取某網頁的數據后(比如描述),如果照原樣顯示的話,可能會因為它里面包含沒有閉合的HTML標簽而打亂了格式,也可能它里面用了比較讓人 費解 的HTML標簽,把預訂的格式攪亂.
    2010-09-09
  • asp.net中資源文件的使用

    asp.net中資源文件的使用

    .Net是一個豐富的平臺,在它的結構中,程序集Assembly是自我描述的安裝單元,它可以只包括一個PE(可移植可執(zhí)行)格式的Dll或exe文件,也可以由多個文件組成,例如資源、Dll和exe等
    2011-12-12
  • .Net中MoongoDB的簡單調用圖文教程

    .Net中MoongoDB的簡單調用圖文教程

    這篇文章主要給大家介紹了關于.Net中MoongoDB的簡單調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-10-10
  • Entity?Framework根據實體的EntityState狀態(tài)實現增刪改查

    Entity?Framework根據實體的EntityState狀態(tài)實現增刪改查

    這篇文章介紹了Entity?Framework根據實體的EntityState狀態(tài)實現增刪改查,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • .NET 解決TabControl 頁里面多余邊距問題經驗分享

    .NET 解決TabControl 頁里面多余邊距問題經驗分享

    不知道各位同學有沒有遇到在向TabPage添加內容后,里面的東西總是填不滿 TabPage,總是有幾個像素的空白邊距
    2012-04-04
  • ASP.NET導出Excel打開時提示:與文件擴展名指定文件不一致解決方法

    ASP.NET導出Excel打開時提示:與文件擴展名指定文件不一致解決方法

    ASP.NET導出Excel,打開時提示“您嘗試打開文件'XXX.xls'的格式與文件擴展名指定文件不一致” 很是郁悶,于是搜集了一些解決方法,感興趣的朋友可以了解下
    2013-01-01
  • DAM 簡單跨數據庫ADO.NET組件

    DAM 簡單跨數據庫ADO.NET組件

    這是一個可以實現簡單跨數據庫基于ADO.NET的組件。您可以在DAL層透過它來訪問數據庫。這是一個以前寫過一個小組件的修改版.
    2011-01-01
  • asp.net使用npoi讀取excel模板并導出下載詳解

    asp.net使用npoi讀取excel模板并導出下載詳解

    這篇文章主要介紹了asp.net使用npoi讀取excel模板并導出下載的示例,大家參考使用吧
    2014-01-01

最新評論

齐齐哈尔市| 察雅县| 合作市| 青川县| 开封县| 永春县| 安庆市| 凤翔县| 红河县| 海淀区| 开平市| 安达市| 得荣县| 宜良县| 桦川县| 永清县| 江门市| 丹寨县| 荆门市| 金堂县| 石柱| 宜黄县| 西安市| 黎城县| 农安县| 中牟县| 开原市| 建德市| 裕民县| 桓仁| 榆社县| 海原县| 岳普湖县| 铁岭县| 个旧市| 鄂州市| 文水县| 微博| 儋州市| 平山县| 信阳市|