首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC 簡易分頁 HtmlHelper 擴充方法實作

     編輯:關於ASP.NET

Pager 擴充方法

public static string Pager(this HtmlHelper html, IPageData model, bool alwaysShow, bool showNumber) {
    if (model.TotalCount == 0 && !alwaysShow || model.TotalCount <= model.PageSize) return "<!--無資料不顯示分頁-->";
    var reqUrl = html.ViewContext.RequestContext.HttpContext.Request.Url.ToString();
    string link = reqUrl.Contains("page") ? Regex.Replace(reqUrl, @"page=\d+", "page={page}", RegexOptions.IgnoreCase)
        : reqUrl.Contains("?") ? reqUrl + "&page={page}" : reqUrl + "?page={page}";
    // 建立首頁、上頁、下頁、末頁按鈕 (TagBuilder)
    // 判斷 HasPreviousPage/HasNextPage 設定 href 或 disabled
    // 顯示頁碼區間 (目前頁 ±5)
    // 附加頁面資訊:第 {p} 頁/共 {TotalPages} 頁,每頁 {PageSize} 筆,合計 {TotalCount} 筆
    return rootDiv.ToString();
}

使用方式:<%=Html.Pager(Model, true, true)%>。IPageData 需包含 PageIndex、PageSize、TotalCount、TotalPages、HasPreviousPage、HasNextPage。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved