在操作代码之前先下载出在vs里mvc自带的分页插件
1.打开vs工具里面NuGet包管理器下的程序包管理器控制台
2,在程序包管理器控制台下输入Install-Package PagedList.Mvc进行加载
3.获得两个dll的插件
同时还会自动生成css样式
前台:
<!--分页导航 -->
<div id="pagerBar">
@Html.PagedListPager(Model, page => Url.Action("ViewResource", new { page = page }),
new PagedListRenderOptions { LinkToFirstPageFormat = "首页", LinkToPreviousPageFormat = "上一页", LinkToNextPageFormat = "下一页", LinkToLastPageFormat = "尾页", MaximumPageNumbersToDisplay = 5 })
</div>
后台:
//分页
public ActionResult View (int ? page,int sub_id = 0)
{
int pageIndex;
int pagesize=int.Parse (System.Configuration.ConfigurationManager.AppSettings["ViewNum"] );//每页数量;
int totalCount ;
//分页
pageIndex = page ?? 1;//当前页数,
totalCount = Service.ListCourse (sub_id).Count;// 总页数
person = EntityCache.Course.Where (C => !c.IaDelete && c.Sbj_ID == sub_id && c.Cou_Name != null).OrderByDescending (m => m.Cou_IsStudy).Skip (pageSize * (pageIndex- 1) ).Take (pageSize).ToList () ;
foreach (var item in person)
{
if (item.Image != null) item.Image = stringHelper.GetStringList (item.Image)[0];//对图片进行切割( 此时需要引用using simpleFramework.Infrastructure.Helper; )
}
var personAaPagedList = new staticPagedList<Course>(person,pageIndex,pageSize,totalCount) ;
return View (personAsPagedList) ;
}
注:1.每页数量的确定是在配置文件web.config里编辑的(即在配置文件里加入 <add key="ViewNum" value="5"/>)
2.总数是查询所需要分页的表的数(查出的数据.count)
3.对于获取不到正确路径的图片要进行分割获取路径
4.分割的方法引用是在同一个解决方案下的simpleFramework.Infrastructure项目里的Helper文件夹下的stringHelper类里的一个方法
(simpleFramework.Infrastructure--->Helper-->stringHelper-->GetStringList)
(此里面的查询都是对应有条件的查询获取数据的)
如果需要对分页的多条数据显示在界面
在视图界面View的上端加上 @model PagedList.IPagedList<Course>(Course代表你所查的表的实体)
同时对对应的界面板块进行循环赋值
@foreach (var item in Model)
{
<div class="course-item">
<a href="/Resource/PlayResource?id=@item.Id" target="_blank" title="@item.ResourceName" class="cour-img"><img src="@item.Image" /></a> <a href="#" target="_blank" title="@item.ResourceName" class="cour-name"> @item.ResourceName</a>
<div class="cour-price">
<span class="cou-sbj" title="@item.RC_Name"> @item.RC_Name</span>
</div>
</div>
}
分页效果图:
界面效果图:
对于在上面提到的分割会在下一篇进行说明!!