zoukankan      html  css  js  c++  java
  • ASP.NET MVC3使用PagedList实现分页导航

    ASP.NET MVC3使用PagedList实现分页导航

    九月 3, 2012

    分页导航功能在Web应用中再常见不过了,本文介绍了近期项目开发过程中如何利用PagedList库实现数据条目的分页导航功能,项目其实很简单,就是实现一个简单的内容管理系统,具备增删改查的功能,采用了ASP.NET MVC3技术。

    使用NuGet包管理器,具体做法:右键项目的References => Manage NuGet Packages => 搜索PagedList安装。这里需要下载两个DLL,分别是PagedList.dll和PagedList.Mvc.dll,其中PagedList适用MVC2框架及以上,它提供了简单易用的分页功能;PagedList.Mvc.dll适用于MVC3及以上,它提供了方便使用的导航功能,省去了开发人员在页面中写的大量的前端代码,有效地减少了代码量。

    初次使用PagedList进行分页操作时,没有进行任何优化,简单地使用了.ToPagedList()方法,代码如下所示:

    constint pageSize =15;publicActionResultIndex(int page =1){var softwares = db.Softwares.ToList();returnView(softwares.ToPagedList(page, pageSize));}

    上面的代码片段很容易理解,从数据库中取出所有数据,然后进行分页,这样做的一大弊端就是如果数据量很大的话,这种操作是十分耗时的,实践也证明了这一点,所以必须对其性能进行优化。每一次访问Index页面的时候,并不需要读取全部数据进行分页,应采取的策略是访问第几页的数据,就将此页的数据读取出来,具体代码如下所示:

    softwares =(from s in db.Softwaresorderby s.SWNamedescending// order排序可以加快数据访问速度select s).Skip((page -1)* pageSize).Take(pageSize).ToList();......int totalCount = db.Softwares.Count();var softwaresAsIPagedList =newStaticPagedList<SoftwareModel>(softwares, page, pageSize, totalCount);returnView(softwaresAsIPagedList);

    以上代码完成了数据分页功能且优化了数据访问性能,下面来说明分页后的导航功能,需要借助PagedList.Mvc.dll提供的相关函数,前端Index页面的代码片段如下所示:

    @modelPagedList.StaticPagedList<XXX.Models.SoftwareModel>@usingPagedList@usingPagedList.Mvc......@Html.PagedListPager((IPagedList)Model, page =>Url.Action("Index",new{ page = page }))

    oK,刷新页面看看吧!

    本博文参考了两篇非常不错的博文,相信对大家也会有帮助

  • 相关阅读:
    python反爬之js混淆-字符串映射
    How to Provide a Default Trace for a Cloud Application
    Reset Peak Used Memory
    SAP 课程
    note 1639578 and 1622837
    SAP License error
    SAP BASIS-System Move
    初识Agile(敏捷项目管理)
    SAP HANA升级
    SAP FIORI 部署
  • 原文地址:https://www.cnblogs.com/fx2008/p/2818152.html
Copyright © 2011-2022 走看看