国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 超好用輕量級MVC分頁控件JPager.Net

超好用輕量級MVC分頁控件JPager.Net

2020-01-13 16:53Joye.Net ASP.NET教程

本文給大家分享的是一款超好用輕量級MVC分頁控件--JPager.Net,小編自己也在使用,非常的不錯,推薦給大家。

JPager.Net  MVC好用的輕量級分頁控件,好用到你無法想象,輕量到你無法想象。

JPager.Net  MVC好用的輕量級分頁控件,實現非常簡單,使用也非常簡單。

JPager.Net  MVC好用的輕量級分頁控件,代碼精心推敲,經多人反復建議修改,最終成型使用中。非常好用分享給大家。源代碼一共放出來。先上個效果圖:

超好用輕量級MVC分頁控件JPager.Net

JPager.Net  MVC好用的輕量級分頁控件JPager.Net .dll核心代碼

超好用輕量級MVC分頁控件JPager.Net

PagerInBase.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
namespace JPager.Net
{
  /// <summary>
  /// 分頁基礎類
  /// </summary>
  public class PagerInBase
  {
    /// <summary>
    /// 當前頁
    /// </summary>
    public int PageIndex { get; set; }
 
    /// <summary>
    /// 頁數
    /// </summary>
    public int PageSize { get; set; }
 
    //跳過序列中指定數量的元素
    public int Skip => (PageIndex - 1) * PageSize;
 
    /// <summary>
    /// 請求URL
    /// </summary>
    public string RequetUrl => System.Web.HttpContext.Current.Request.Url.OriginalString;
 
    /// <summary>
    /// 構造函數給當前頁和頁數初始化
    /// </summary>
    public PagerInBase()
    {
      if (PageIndex == 0) PageIndex = 1;
      if (PageSize == 0) PageSize = 10;
    }
  }
}

PagerResult.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.Text;
 
namespace JPager.Net
{
  /// <summary>
  /// ULR拼裝
  /// </summary>
  internal static class Exts
  {
    public static string GetUrl(this string url, int curIndex, int reps)
    {
      return url.Replace("pageindex=" + curIndex.ToString(), "pageindex=" + reps.ToString());
    }
  }
 
  /// <summary>
  /// 分頁核心代碼
  /// </summary>
  /// <typeparam name="T"></typeparam>
  public class PagerResult<T>
  {
    public int Code { get; set; }
    public int Total { get; set; }
    public IEnumerable<T> DataList { get; set; }    
    public int PageSize { get; set; }
    public int PageIndex { get; set; }
    public string RequestUrl { get; set; }
 
    /// <summary>
    /// 分頁頁碼Html
    /// </summary>
    /// <param name="cssClass">默認樣式:jpager</param>
    /// <returns></returns>
    public string PagerHtml(string cssClass="jpager")
    {
      if (PageIndex == 0) PageIndex = 1;
      if (RequestUrl.IndexOf("?", StringComparison.Ordinal) == -1) RequestUrl += "?pageindex=1";
      else
      if (RequestUrl.IndexOf("&pageindex", StringComparison.Ordinal) == -1&& RequestUrl.IndexOf("?pageindex", StringComparison.Ordinal) == -1) RequestUrl += "&pageindex=1";
      
      var html = new StringBuilder();
      html.AppendFormat("<span class='{0}'>", cssClass);
      var pageLen = Math.Ceiling((double)Total / PageSize);
      html.AppendFormat("<a href='{0}'> 首頁 </a>", RequestUrl.GetUrl(PageIndex,1));
      html.AppendFormat("<a href='{0}'> 上頁 </a>", RequestUrl.GetUrl(PageIndex, PageIndex < 2 ? 1 : PageIndex - 1));
 
      var si = PageIndex <= 6 ? 1 : PageIndex - 5;
      var ei = si + 9;
 
      while (si <= pageLen && si <= ei)
        html.AppendFormat(
          si == PageIndex
            ? "<a style='color:black;border:none;' href='{0}'> {1} </a>"
            : "<a href='{0}'> {1} </a>", RequestUrl.GetUrl(PageIndex, si), si++);
 
      html.AppendFormat("<a href='{0}'> 下頁 </a>", RequestUrl.GetUrl(PageIndex, (int)(PageIndex > pageLen - 1 ? pageLen : PageIndex + 1)));
 
      html.AppendFormat("<a href='{0}'> 尾頁 </a>",
        Math.Abs(Total) <= 0
        ? RequestUrl.GetUrl(PageIndex, 1)
        : RequestUrl.GetUrl(PageIndex, (int) pageLen));
 
      html.Append(@"</span>");
      return html.ToString();
 
    }
    
  }
 
}

使用方法:

HomeController.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using JPager.Net;
using JPager.Net.Web.Models;
 
namespace JPager.Net.Web.Controllers
{
  public class HomeController : Controller
  {
    public ActionResult Index(UserParams param)
    {
 
      //每頁顯示的條數默認10
      //param.PageSize = 10;
 
      //保存搜索條件
      ViewBag.SearchName = param.Name;
      ViewBag.SearchAge = param.Age;
 
      //獲取數據集合
      var list = PageContent();
 
      //根據條件檢索
      var query = param.Name!=null ?
        list.Where(t=>t.Name.Contains(param.Name)).ToList() :
        list.ToList();
 
      //分頁數據
      var data = query.Skip(param.Skip).Take(param.PageSize);
 
      //總頁數
      var count = query.Count;
 
      var res = new PagerResult<User> { Code = 0, DataList = data, Total = count,
        PageSize = param.PageSize,PageIndex = param.PageIndex,RequestUrl = param.RequetUrl};
      return View(res);
    }
     
    //測試數據                       
    public List<User> PageContent()
    {
      var list = new List<User>();
      for (var t = 0; t < 10000; t++)
      {
        list.Add(new User
        {
          Id = t,
          Name = "Joye.net"+t.ToString(),
          Age = t + 10,
          Score = t,
          Address = "http://yinrq.cnblogs.com/",
          AddTime = DateTime.Now
        });
      }
 
      return list;
    }
  }
}

Models文件夾建User.cs和UserParams.cs

User.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace JPager.Net.Web.Models
{
  public class UserParams:JPager.Net.PagerInBase
  {
    public int Id { get; set; }
    public string Name { get; set; }
    public int ? Age { get; set; }
    public int Score { get; set; }
    public string Address { get; set; }
    public DateTime AddTime { get; set; }
  }
}

UserParams.cs

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
namespace JPager.Net.Web.Models
{
  public class User
  {
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public int Score { get; set; }
    public string Address { get; set; }
    public DateTime AddTime { get; set; }
  }
}

view顯示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@model JPager.Net.PagerResult<JPager.Net.Web.Models.User>
@{
  ViewBag.Title = "Index";
}
 
<h2>JPager.Net MVC好用的輕量級分頁控件</h2>
<div>
  <div>
    <form method="get">Name:
      <input name="Name" id="Name" />
     Age:
      <input name="Age" id="Age"/>
      <input type="submit" value="查詢" />
    </form>
  </div>
  <table>
    <tr>
      <th>ID</th>
      <th>Name</th>
      <th>Age</th>
      <th>Score</th>
      <th>Address</th>
      <th>AddTime</th>
    </tr>
    @foreach (JPager.Net.Web.Models.User item in Model.DataList)
    {
      <tr>
        <td>@item.Id</td>
        <td>@item.Name</td>
        <td>@item.Age</td>
        <td>@item.Score</td>
        <td><a href="@item.Address" target="_target">@item.Address</a></td>
        <td>@item.AddTime</td>
      </tr>
    }
  </table>
 
</div>
<div>
  @Html.Raw(Model.PagerHtml()) 共 @Model.Total 條
</div>
 
<script type="text/javascript">
  //保持搜索條件
  $(function () {
    $('#Name').val('@ViewBag.SearchName');
    $('#Age').val('@ViewBag.SearchAge');
  });
</script>

github:https://github.com/decadestory/JPager.Net 

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 黄色高清网站 | 精品久久久久久久久久久下田 | 亚洲精品成人天堂一二三 | 国产欧美一区二区精品久久 | 久久精品国产清自在天天线 | 97视频免费在线观看 | 在线99热 | www.99热| 久久精品无码一区二区日韩av | 久久国产综合 | a毛片| 国产精品久久久久久久美男 | 中文字幕av在线播放 | 色网入口| 精品无码久久久久久久动漫 | 国产一区二区三区免费播放 | 久久久精品一区二区 | 欧美精品在线观看 | 精品成人在线视频 | 超碰免费观看 | 国产精品美女久久久久aⅴ国产馆 | 欧美一区免费 | 久久综合av | 99久久免费精品 | 久久99深爱久久99精品 | 精品久久久久久久人人人人传媒 | 视频专区一区二区 | 综合另类 | 91精品国产91久久久久久最新 | 九九精品在线 | 久热99 | 天天色成人综合网 | 97超碰在线免费 | 亚州男人天堂 | 国产欧美视频一区二区三区 | 国产在线不卡观看 | 日韩视频免费 | 国产 日韩 欧美 中文 在线播放 | 亚洲男人的天堂网站 | 亚洲一级黄色 | 亚洲高清视频在线 |