MVC MvcPager 普通分页

  1、创建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。

2、创建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”。

3、添加Orders链接并运行示例:

打开解决方案资源管理器中Views文件夹下的Home文件夹中的Index.aspx,添加对刚才创建的显示Orders的页面的链接,代码如下:

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

然后按住ctrl+F5键即可用Visual Studio 2008内置的web服务器运行和查看示例效果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值