ASP.NET MVC雕虫小技 3、Pager

上篇过后,被评为没有什么技术含量了,但我觉得这并没有什么问题,因为文章不一定会让所有人群受益,文章或适于新手,或适于熟手。 但凡是对人有所启发,我觉得写文章有值得。

而且我觉得这一系列主要是在开发中遇到的问题及解决方法,有容易想到的,有经过几次 开发迭代才形成的。还是那句话,这些未必是一些高效的技巧,但是的确是能解决问题,也未必有什么高深的原理,只是我觉得值得分享。

3.Pager

3.1需求及模拟代码

需求,假设我们有个列表,有分页功能,我们可能需要一个页码列表,如

我们模拟写一下Action:

1: public ActionResult Index(int? p)
  2: {
  3:   if (!p.HasValue) p = 1;//如果未对p 传值就是第1页
  4:   var list = new List<int>();//生成一个模拟列表
  5:   for (var i = 0;  i < 10;i++ )
  6:   {
  7:     list.Add(p.Value);//是第几页就向中填充几个这个页码的数
  8:    }
  9:   return View(list);//强型传递给View
 10: }

View中我写以下显示方式:

1: <%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"  Inherits="System.Web.Mvc.ViewPage<List<int>>" %>
  2:
  3: <asp:Content  ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
  4:   Pager  for List
  5: </asp:Content>
  6:
  7: <asp:Content ID="indexContent"  ContentPlaceHolderID="MainContent" runat="server">
  8:   <div>
  9:      <ul>
 10:       <%foreach (int i in Model){//显示这个列表%>
 11:        <li><%=i %></li>
 12:       <%} %>
 13:     </ul>
 14:    </div>
 15:   <!--将在这里显示分页的部分-->
 16:  </asp:Content>

下面是运行后 的结果:

第一页URL类似/Home/Index?p=1

第二页URL类似/Home/Index?p=2

其它页面以此类推

时间: 2024-12-08 23:55:36

ASP.NET MVC雕虫小技 3、Pager的相关文章

ASP.NET MVC雕虫小技 1-2

看到AnyTao和TerryLee分享的关于ASP.NET MVC使用和优化的技巧,不免手痒,也分享一下这一年多来ASP.NET MVC开发的积累. 其中未必是一些高效的技巧,但是的确是能解决问题,也未必有什么高深的原理,只是我觉得值得分享. 1.Controller来控制HTML的Title 我想大部分朋友都有在Controller里面指定Html页面Title的需求. 我习惯于先写使用的代码再去完善其实现,而指定一个Title最方便的形式莫过于: 1: public ActionResult

ASP.NET MVC Framework 系列

序言 做为设计模式的王者,MVC在众多领域都成为良好的模型的代名词,从前在ASP.NET下我们只能依靠Monorail来实现ASP.NET下无控件的MVC,但是现在ASP.NET 下的MVC已经成为现实. 本文只想让大家更直观地认知ASP.NET MVC,如果语言有所不当,还望大家海涵.当然,如果文中有所纰漏还希望大家及时指出,我也好做及时的修改.在下本着对初学者负责的态度来书写本系列中的各篇文章,但期间的恒心与毅力相信过来的人更加明白,所以如果书写有误希望大家谅解. ASP.NET MVC 正

ASP.NET MVC 数据筛选、分页的问题

问题描述 ASP.NET MVC 数据筛选.分页的问题 使用Webdiyer.WebControls.Mvc.PagedList实现的MVC分页,但发现在有筛选条件存在的情况下分页是会出错的.当先对数据进行筛选后再点击下一页时,会重新获取数据源,这时的除了索引的ID有值其他的都没有值,求大神们帮忙解决,谢谢. 解决方案 你的gettransactionheadersforquery这个方法怎么实现的? 解决方案二: asp.net mvc 分页ASP.NET MVC Pager分页asp.net

ASP.NET MVC 2右键菜单和简单分页实例讲解_实用技巧

右键菜单非常方便,很多时候会用到.这篇文章将使用一个JQUERY的插件在ASP.NET MVC中实现右键菜单.本文还将介绍一下在ASP.NET MVC中如何实现简单的分页.效果如下图: 新建一个asp.net mvc应用程序.将此插件放入Scripts文件夹.并在页面上引用. 定义右键菜单: <div class="contextMenu" id="myMenu1"> <ul> <li id="detail">

详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

一起谈.NET技术,详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

《Pro ASP.NET MVC 3 Framework》学习笔记之十四【示例项目SportsStore】

前面给SportsStore添加了分页的功能.接着我们添加导航控制,通过左边的菜单来分类显示数据. 首先修改SportsStore.WebUI.Models下的ProductsListViewModel.cs,增加一个CurrentCategory属性public string CurrentCategory{get;set;}.接着修改List action方法,能够通过传入的CurrentCategory来过滤查询的产品列表.修改后的List action方法如下所示: public Vie

利用ASP.NET MVC源代码调试你的应用程序

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE

初探ASP.NET MVC框架

MVC (Modal View Controller)本来是存在于Desktop程序中的,M是指数据模 型,V是指用户界面,C则是控制器,即三个核心部件.它是一个设计模式,它强 制性的使应用程序的输入.处理和输出分开. 那么,为什么要使用MVC呢?大部分Web应用程序都是用像ASP.PHP.或者 CFML这样的过程化语言来创建的.它们将像数据库查询语句这样的数据层代码和 像HTML这样的表示层代码混在一起.经验丰富的开发者会将数据从表示层分离开 来,但这通常不是很容易做到的,而 MVC从根本上可