日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET MVC 简单的分页思想与实现

發布時間:2024/6/30 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET MVC 简单的分页思想与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 首先我們通過VS創建一個空的基于Razor視圖引擎的ASP.NET MVC3 Web應用程序,命名為JohnConnor.Web

  對創建過程或Razor不太了解的看官,請移步 ASP.NET MVC Razor視圖引擎攻略?<傳送門>?,這里就不再贅述了。

  然后我們需要進行以下幾步

  1,Models文件夾下,添加Student.cs文件,添加以下代碼,為了演示方便這里模擬了一個數據源,實際中的數據源可能來自數據庫。

public class Student{public int Id { get; set; }public string Name { get; set; }}public static class Students{public static IEnumerable<Student> data{get{return new List<Student>(){new Student{ Id=0, Name="John"},new Student{ Id=1, Name="Marry"},new Student{ Id=2, Name="Andy"},new Student{ Id=3, Name="Tom"},new Student{ Id=4, Name="Lydia"},new Student{ Id=5, Name="Chris"},new Student{ Id=6, Name="Justin"},new Student{ Id=7, Name="Susan"}};}}}

  2,Models文件夾下,添加PagingHelper.cs文件,添加我們上述分頁器類。

public class PagingHelper<T>{//分頁數據源public IEnumerable<T> DataSource { get; private set; }//每頁顯示記錄的數量public int PageSize { get; private set; }//當前頁數public int PageIndex { get; set; }//分頁總頁數public int PageCount { get; private set; }//是否有前一頁public bool HasPrev { get { return PageIndex > 1; } }//是否有下一頁public bool HasNext { get { return PageIndex < PageCount; } }//構造函數public PagingHelper(int pageSize, IEnumerable<T> dataSource){this.PageSize = pageSize > 1 ? pageSize : 1;this.DataSource = dataSource;PageCount = (int)Math.Ceiling(dataSource.Count() / (double)pageSize);}//獲取當前頁數據public IEnumerable<T> GetPagingData(){return DataSource.Skip((PageIndex - 1) * PageSize).Take(PageSize);}}

  3,在Controller文件夾下添加控制器命名為HomeController,添加以下代碼。

public class HomeController : Controller{public ActionResult Index(int pageIndex=1){PagingHelper<Student> StudentPaging = new PagingHelper<Student>(2, Students.data);//初始化分頁器StudentPaging.PageIndex = pageIndex;//指定當前頁return View(StudentPaging);//返回分頁器實例到視圖}}

  4,在View文件夾下添加Home文件夾,并新增視圖文件Index.cshtml,添加以下代碼。

@using JohnConnor.Web.Models @model PagingHelper<Student> @{ViewBag.Title = "Index"; } <h2>Index</h2> @foreach (var Data in Model.GetPagingData()) {<p>ID:@Data.Id Name:@Data.Name</p> } <p> @if (Model.HasPrev) {<a href="@Url.Action("Index", "Home", new { pageIndex = Model.PageIndex - 1 })">上一頁</a> } else {<em style="color:Gray">上一頁</em> } @if (Model.HasNext) {<a href="@Url.Action("Index", "Home", new { pageIndex = Model.PageIndex + 1 })">下一頁</a> } else {<em style="color:Gray">下一頁</em> } </p>

轉載于:https://www.cnblogs.com/lzfsuifeng/p/9106556.html

總結

以上是生活随笔為你收集整理的ASP.NET MVC 简单的分页思想与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。