<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      pageadmin模板中如何實現分頁

      發表日期:2019-04 文章編輯:小燈 瀏覽次數:2847

      在信息頁中調用分頁數據時,信息后面一般都需要分頁控制按鈕面板,分頁面板是一個稍顯繁瑣的功能,下面直接上代碼:

      @functions{
      ????//默認分頁函數
      ????private?string?Pagebreak(int?page,?string?urlPrefix,?string?urlParams?=?"")
      ????{
      ????????string?rv?=?"";
      ????????if?(page?>?1)
      ????????{
      ????????????rv?=?urlPrefix?+?page?+?"/";
      ????????}
      ????????else
      ????????{
      ????????????rv?=?urlPrefix;
      ????????}
      ????????rv?+=?urlParams;
      ????????return?rv;
      ????}
      ????//獲取url參數方法
      ????private?string?GetUrlParams()
      ????{
      ????????string?rv?=?"";
      ????????System.Collections.Specialized.NameValueCollection?queryStrings?=?Request.QueryString;
      ????????int?count?=?queryStrings.Count;
      ????????if?(count?>?0)
      ????????{
      ????????????rv?=?"?";
      ????????}
      ????????foreach?(string?key?in?queryStrings)
      ????????{
      ????????????if?(rv.IndexOf("=")?>?0)
      ????????????{
      ????????????????rv?+=?"&";
      ????????????}
      ????????????rv?+=?key?+?"="?+?HttpUtility.UrlEncode(queryStrings[key]);
      ????????}
      ????????return?rv;
      ????}
      }
      @{
      ????PageInfo?pageInfo?=?(PageInfo)Model;
      ????int?pageCount?=?pageInfo.PageCount;
      ????int?pageSize?=?pageInfo.PageSize;
      ????int?recordCount?=?pageInfo.RecordCount;
      ????int?currentPage?=?pageInfo.CurrentPage;
      ????int?m?=?2;?//左右兩邊顯示頁碼數
      ????string?urlParams?=?GetUrlParams();
      ????string?urlPrefix?=?Html.ColumnUrl();//獲取當前欄目url,如果是自定義文件,請自行修改為路徑。
      }
      ????<div?class="text-center">
      ????????<ul?class="pagination">
      ????????????@{
      ????????????????if?(currentPage?>?1)
      ????????????????{
      ????????????????????<li>
      ????????????????????????<a?href="@Pagebreak(currentPage-1,urlPrefix,urlParams)">&laquo;</a>
      ????????????????????</li>
      ????????????????}
      ????????????????else
      ????????????????{
      ????????????????????<li?class="disabled">
      ????????????????????????<a>&laquo;</a>
      ????????????????????</li>
      ????????????????}
      ????????????????int?startPage?=?currentPage?-?m;
      ????????????????int?lastPage?=?currentPage?+?m;
      ????????????????int?cha?=?0;
      ????????????????if?(lastPage?>?pageCount)
      ????????????????{
      ????????????????????cha?=?lastPage?-?pageCount;
      ????????????????????startPage?=?startPage?-?cha;
      ????????????????????if?(startPage?<?1)
      ????????????????????{
      ????????????????????????startPage?=?1;
      ????????????????????}
      ????????????????????lastPage?=?pageCount;
      ????????????????}
      ????????????????else?if?(startPage?<?1)
      ????????????????{
      ????????????????????cha?=?1?-?startPage;
      ????????????????????startPage?=?startPage?+?cha;
      ????????????????????lastPage?=?lastPage?+?cha;
      ????????????????????if?(lastPage?>?pageCount)
      ????????????????????{
      ????????????????????????lastPage?=?pageCount;
      ????????????????????}
      ????????????????}
      ????????????????if?(startPage?>?1)
      ????????????????{
      ????????????????????<li><a?href="@Pagebreak(1,urlPrefix,urlParams)">1?...</a></li>
      ????????????????}
      ????????????????for?(int?i?=?startPage;?i?<=?lastPage;?i++)
      ????????????????{
      ????????????????????<li@(currentPage==i?"?class=active":"")><a?href="@Pagebreak(i,urlPrefix,urlParams)">@i</a></li>
      ????????????????}
      ????????????????if?(lastPage?<?pageCount)
      ????????????????{
      ????????????????????<li><a?href="@Pagebreak(pageCount,urlPrefix,urlParams)">...?@pageCount</a></li>
      ????????????????}
      ????????????????if?(currentPage?<?pageCount)
      ????????????????{
      ????????????????????<li>
      ????????????????????????<a?href="@Pagebreak(currentPage+1,urlPrefix,urlParams)">&raquo;</a>
      ????????????????????</li>
      ????????????????}
      ????????????????else
      ????????????????{
      ????????????????????<li?class="disabled">
      ????????????????????????<a>&raquo;</a>
      ????????????????????</li>
      ????????????????}
      ????????????}
      ????</ul>
      </div>

      把上面代碼保存為PagebreakPartial.cshtml放在模板的Views/Shared目錄下作為局部文件,這樣就可以在所有需要分頁的模板中調用,實現代碼的重用性,下面用實例演示完整的分頁模板。

      @{
      ???//實例化一個分頁信息描述類
      ???PageInfo?pageInfo?=?new?PageInfo()
      ????????{
      ????????????PageSize?=?10,
      ????????????CurrentPage?=?ViewBag.CurrentPage?//系統預設
      ????};
      ????int?columnId?=?Html.CurrentColumnId();//獲取當前欄目id
      ????var?dataList?=?Html.InfoDataList(new?{?ColumnId?=?columnId,?OrderBy?=?"thedate?desc"?},?null,?null,?pageInfo);
      }
      <div?class="news-list">
      ????@foreach?(var?item?in?dataList)
      ????{
      ????????string?url?=?Html.InfoDataUrl((int)item.ColumnId,?(int)item.Id);?//獲取信息內容頁url,固定語法。
      ????????<div>
      ????????????<div?class="title"><a?href="@url"?target="_blank">@item.Title</a></div>
      ????????????<div?class="date">@item.Thedate</div>
      ????????</div>
      ????}
      </div>
      @Html.Partial("PagebreakPartial",?pageInfo)

      模板制作人員可以在上面代碼基礎上完善,其中的@Html.Partial("PagebreakPartial", pageInfo)就是調用分頁局部視圖,第一個參數為文件名,第二個參數為PageInfo描述類,大家記得這種固定語法就可以了。


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/19139.html
      相關cms文章
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      国产成人精品综合在线观看