zoukankan      html  css  js  c++  java
  • MVC分页

     

    本演练一步一步教您如何快速上手学会使用ASP.NET MVC Pager

    1、在Visual Studio 2008中创建ASP.NET MVC Web应用程序:
    从Visual Studio 2008的“文件”菜单中选择“新建”,然后点击“项目...”子菜单,在弹出的“新

    建项目”窗口左侧的“项目类型”列表中选择“Web”,然后在右边窗口中选择“ASP.NET MVC Web

    Application”,根据需要修改项目名称和项目保存位置后点击“确定”按钮,在随后弹出的“创建单

    元测试项目”对话框中选择“不创建单元测试项目”,然后单点“确定”按钮,Visual Studio 2008就

    会创建一个包含最基本配置和模板的ASP.NET MVC项目;(注:如果“新建项目”窗口中没有“ASP.NET

    MVC Web Application”项目,则表示您没有安装ASP.NET MVC框架,请从这里下载安装。)

    2、添加对ASP.NET MVC Pager程序集的引用:
    在解决方案资源管理器窗口中的“引用”文件夹上点击右键,从弹出的菜单中选择“添加引用...”,

    在弹出的“添加引用”对话框中,点击最上边的“浏览”标签页,在下边的查找下拉框中定位到

    MvcPager.dll所在的文件夹,从下边的文件列表中选中MvcPager.dll,然后点击“确定”按钮,关闭“

    添加引用”窗口,MvcPager会出现在解决方案资源管理器的“引用”文件夹中;

    3、创建Model对象:
    本演练中我们使用SQL Server 2005的Northwnd数据库(数据库包含在可下载的示例项目中),对

    Orders表中的数据进行分页显示。首先需要建立Model对象,本演练中我们使用LINQ to SQL类。在解决

    方案资源管理器中Model文件夹上点击右键,选择“添加”—“新项目...”,在弹出的“添加新项目”

    窗口左侧“类别”列表中选择“Data(数据)”,在右边窗口中选择“LINQ to SQL类”,根据需要修

    改窗口下方的文件名称(本演练中为“MvcPagerSample.dbml”),然后点击“确定”按钮,Visual

    Studio 2008就会创建一个空白的dbml文件并在设计器中打开。

    在Visual Studio 2008服务器资源管理器中新建一个连接到Northwnd示例数据库的连接(若数据库不存

    在,可以将示例中的数据库文件附加到SQL Server 2005的数据库中),点击连接名称打开数据库,并

    展开表节点下的数据库表,选中其中的“Orders”表并将其拖放到在Visual Studio 2008设计器中打开

    的dbml文件中,Visual Studio 2008会自动生成一个Order实体类。

    4、创建Controller并编写Action:
    在解决方案资源管理器中的“Controller”文件夹上点击右键,从弹出的菜单中选择“新

    建”—“Controller”,在弹出的“Add Controller”对话框中修改Controller名称为

    OrdersController,然后点击“新建”按钮,Visual Studio 2008会创建一个新的Controller类并在编

    辑器中打开,该Controller类中已默认创建了一个名为Index的Action,我们将使用该Action来获取分

    页的数据并将其传递给View显示。

    在OrdersController类中将要用到ASP.NET MVC Pager中的PagedList类和ToPagedList扩展方法,所以

    在修改Action之前,需要先引入Webdiyer.WebControls.Mvc 命名空间,在OrdersController最上方的

    引入命名空间代码中,添加如下代码:using Webdiyer.WebControls.Mvc;,然后修改Index的Action代

    码如下:

    public ActionResult Index(int? id)
            {
                using (var db = new MvcPagerSampleDataContext())
                {
                    PagedList<Order> orders = db.Orders.ToPagedList(id ?? 1, 20);
                    return View(orders);
                }
            }
    ToPagedList扩展方法的第一个参数表示当前页索引(从1开始),第二个参数是每页显示的记录数,此

    处我们设为20。

    5、创建View并编写数据显示代码:
    在刚刚修改的Index的Action方法内点击右键,从快捷菜单中选择“Add View”,在弹出的“Add View

    ”对话框中按默认设置直接点击“添加”按钮,Visual Studio 2008会自动在Views文件夹下创建一个

    Orders文件夹并生成名为Index.aspx的View文件,同时在编辑器中打开Index.aspx以便可以立即对该

    View进行修改。

    在Index.aspx文件中引入Order实体类所在的命名空间和MvcPager所在的Webdiyer.WebControls.Mvc命

    名空间,类似于这样:

    <%@ Import Namespace="MvcPagerSample.Models"%>
    <%@ Import Namespace="Webdiyer.WebControls.Mvc"%>

    然后将页面最上方Page指令代码中的 Inherits="System.Web.Mvc.ViewPage" 改为:

    Inherits="System.Web.Mvc.ViewPage<PagedList<Order>>",并加入如下数据显示代码:

    <table width="98%"><tr><th>订单编号</th><th>订单日期</th><th>顾客编号</th><th>收货地址

    </th></tr>
        <%foreach(Order od in Model)
         {
             %>
             <tr><td><%=od.OrderID %></td><td><%=od.OrderDate.ToString() %></td>
             <td><%=od.CustomerID %></td><td><%=od.ShipAddress %></td></tr>
             <%
         } %>
      </table>
    然后将MvcPager分页控件放到页面中以实现分页,代码如下:

    <%=Html.Pager(Model,new PagerOptions{PageIndexParameterName="id"}) %>

    因为本示例中我们使用的是默认的Route “{controller}/{action}/{id}”,将最后的id参数做为分页

    参数,因此需要设置MvcPager中的PagerOptions的PageIndexParameterName属性值,该值默认

    为“pageIndex”。

    6、添加Orders链接并运行示例:
    打开解决方案资源管理器中Views文件夹下的Home文件夹中的Index.aspx,添加对刚才创建的显示

    Orders的页面的链接,代码如下:

    <%=Html.ActionLink("订单分页示例","Index","Orders") %>

    然后按住ctrl+F5键即可用Visual Studio 2008内置的web服务器运行和查看示例效果。

    本文摘自http://www.webdiyer.com/Controls/MvcPager/Walkthrough1

  • 相关阅读:
    斐波那契数列 的两种实现方式(Java)
    单链表反转
    单链表合并
    两个有序list合并
    list去重 转载
    RemoveAll 要重写equals方法
    Java for LeetCode 138 Copy List with Random Pointer
    Java for LeetCode 137 Single Number II
    Java for LeetCode 136 Single Number
    Java for LeetCode 135 Candy
  • 原文地址:https://www.cnblogs.com/lzhp/p/2680790.html
Copyright © 2011-2022 走看看