zoukankan      html  css  js  c++  java
  • 显示页面链接(7.5.1)

    1、添加视图模型 PagingInfo(WebUI.Models)(这一步不用改,每个项目照用就行)

        创建 PagingInfo 视图模型,将“可用页面数”、“当前页”以及“项目总数”等信息传递给视图。

            public int TotalItems { get; set;}      //项目总数
            public int ItemsPerPage { get; set;}    //每页显示的数量(等于动作方法中每页个数)
            public int CurrentPage { get; set;}    //当前页数
            public int TotalPages { get { return (int)Math.Ceiling((decimal)TotalItems / ItemsPerPage ); }}    //总页数(这对于一共生成几个<a>标签有用)

    2、添加 HTML 辅助器方法(这一步不用改,每个项目照用就行)

        有了视图模型 PagingInfo 还需要实现 HTML 辅助器方法 “PageLinks”

        (在 WebUI 项目中创建一个 “HtmlHelpers” 文件夹,并添加一个 “PagingHelpers” 类文件——其实这一点都不重要)

        重要的是在创建的类文件里面定义一个 “HtmlHelper” 类的扩展方法,该方法的名字叫做 “PageLinks”

            public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int,string> pageUrl)

        (这段代码并不重要,因为你不需要修改,在每个项目中直接用就行)

        需要在视图中引用该扩展方法所在的命名空间。

    3、添加要渲染的视图的模型数据

        为了更方便的将视图所需要的所有数据传递给视图,首先将控制器要发送给视图的所有数据封装成一个单一的视图模型类——ProductsListViewModel(对于不同的视图封装也不一样)

        更新控制器中的动作方法,通过 ProductsListViewModel 将产品细节和分页细节传递给视图

            public ViewResult List(int page = 1)
            {
              ProductsListViewModel model = new ProductsListViewModel
              {
                Products =     ,

                PagingInfo = new PagingInfo
                {
                  CurrentPage = page,    //初始值为上面的1,之后等于视图传回的值
                  ItemsPerPage =   ,
                  TotalItems =   .Count
                }
              } ;

              return View(model);    //将一个 ProductsListViewModel 对象作为模型数据传递给视图
            }

    4、显示页面连接——修改视图内容

        @model …….WebUI.Models.ProductsListViewModel

        ……

        <div class="btn-group pull-right">

          @Html.PageLinks(Model.PagingInfo, x => Url.Action("List", new { page = x }))

        </div>

  • 相关阅读:
    SQL server 数据库基础语句
    数据库学习的第一天
    C# 函数
    C# for循环的嵌套 作用域
    C# for循环语句
    Docker的基本使用
    django连接postgresql
    docker的安装
    Postgresql的使用
    Celery的介绍
  • 原文地址:https://www.cnblogs.com/zhangchaoran/p/7634169.html
Copyright © 2011-2022 走看看