using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Webdiyer.WebControls.Mvc; namespace MvcGuestBook.Common
{
public static class MvcPaper
{
/// <summary>
/// 重写PagedList可以使用List集合数据
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="allItems">IList集合</param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">一页显示的数量</param>
/// <returns>PagedList<T></returns>
public static PagedList<T> ToPagedList<T>(this IList<T> allItems, int pageIndex, int pageSize)
{
if (pageIndex < )
pageIndex = ;
var itemIndex = (pageIndex - ) * pageSize;
var pageOfItems = allItems.Skip(itemIndex).Take(pageSize);
var totalItemCount = allItems.Count();
return new PagedList<T>(pageOfItems, pageIndex, pageSize, totalItemCount);
}
}
} public ActionResult IndexPage(int? id = )
{
IList<Message> userList = new List<Message>();
int totalCount = ;
int pageIndex = id ?? ;
userList = Common.Common.TableToList<Message>(_messageRepository.GetLists("").Tables[]); //var queryable = userList.AsQueryable(); //userList = SC.Repository.User.GetList("", 2, (pageIndex - 1) * 2, out totalCount); PagedList<Message> mPage = Common.MvcPaper.ToPagedList<Message>(userList, pageIndex, );
totalCount = userList.Count;
mPage.TotalItemCount = totalCount;
mPage.CurrentPageIndex = (int)(id ?? );
return View(mPage);
} <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<PagedList<MvcGuestBook.Models.Message>>" %> <%@ Import Namespace="Webdiyer.WebControls.Mvc"%> <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
IndexPage
</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <h2>IndexPage</h2> <table>
<tr>
<th></th>
<th>
ID
</th>
<th>
MemberID
</th>
<th>
Body
</th>
<th>
IsSecret
</th>
<th>
AdminReply
</th>
<th>
AdminReplyTime
</th>
<th>
CreateTime
</th>
</tr> <% foreach (var item in Model) { %> <tr>
<td>
<%: Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> |
<%: Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%> |
<%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%>
</td>
<td>
<%: item.ID %>
</td>
<td>
<%: item.MemberID %>
</td>
<td>
<%: item.Body %>
</td>
<td>
<%: item.IsSecret %>
</td>
<td>
<%: item.AdminReply %>
</td>
<td>
<%: String.Format("{0:g}", item.AdminReplyTime) %>
</td>
<td>
<%: String.Format("{0:g}", item.CreateTime) %>
</td>
</tr> <% } %> </table> <%: Html.Pager(Model, new PagerOptions
{ PageIndexParameterName="ID",ShowPageIndexBox=true,
FirstPageText="首页",PrevPageText="上一页",NextPageText="下一页",LastPageText="末页",PageIndexBoxType=PageIndexBoxType.TextBox,
PageIndexBoxWrapperFormatString="请输入页数{0}",GoButtonText="转到"})%> <br />
>>分页 共有 <%: Model.TotalItemCount %> 篇留言 <%: Model.CurrentPageIndex %>/<%: Model.TotalPageCount %>
<p>
<%: Html.ActionLink("Create New", "Create") %>
</p> <p>
<%: Html.ActionLink("返回第一种分页方法", "Index") %>
</p> </asp:Content> 详细源码示例链接: http://download.csdn.net/download/u012949335/10189580

基于ASP.NET的MVC框架下的MvcPaper分页控件的使用技术的更多相关文章

  1. 【干货分享】JPager.Net MVC超好用轻量级分页控件

    JPager.Net  MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象. JPager.Net  MVC好用的轻量级分页控件,实现非常简单,使用也非常简单. JPager.Net  M ...

  2. ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源

    ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件- ...

  3. MVC 下 使用MvcPager分页控件

    先去下载 mvcpage http://mvcpager.codeplex.com/releases/view/64098只需要一个 MvcPager.dll文件即可 然后引用MvcPager.dll ...

  4. MVC中的自定义标签分页控件,仅供大家学习!!

    public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, ...

  5. asp.net webform 自定义分页控件

    做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...

  6. Net MVC轻量级分页控件

    JPager.Net MVC超好用轻量级分页控件   JPager.Net  MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象. JPager.Net  MVC好用的轻量级分页控件,实现 ...

  7. 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子

    KnockOutJS学习系列----(一) 好几个月没去写博客了,最近也是因为项目紧张,不过这个不是借口,J. 很多时候可能是因为事情一多,然后没法静下来心来去写点东西,学点东西. 也很抱歉,突然看到 ...

  8. 【工作笔记二】ASP.NET MVC框架下使用MVVM模式

    ASP.NET MVC框架下使用MVVM模式 原文:http://www.cnblogs.com/n-pei/archive/2011/07/21/2113022.html 对于asp.net mvc ...

  9. ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用

    一.前言 1.本文主要内容 使用dotnet cli创建基于解决方案(sln+csproj)的项目 使用Visual Studio Code开发基于解决方案(sln+csproj)的项目 Visual ...

随机推荐

  1. iOS - Properties 入门

    iOS中,类的属性property可以有若干个修饰词,对应不同的属性行为. @property (readonly) NSString *readonly; // 只读,不可修改 @property ...

  2. django-引用静态文件

    1.需要配置settings # 静态文件目录 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') 2.页面加载静态文件 {% load sta ...

  3. VB指针操作和消息钩子

    二.VB怎么用指针       要想弄明白VB怎么使用指针,就必须要弄明白两件事,第一,如何取得数组的指针,第二,如何将指针所指向的数组取出来.       A.在讲解这两个问题之前,我们需要了解几个 ...

  4. MVC4 AspNet MVC下的Ajax / 使用微软提供的Ajax请求脚本 [jquery.unobtrusive-ajax.min.js]

    源码参考:链接:http://pan.baidu.com/s/1pKhHHMj  密码:mkr4 1:新建-->项目-->Web-->ASP.NET MVC 4 Web 应用程序.命 ...

  5. Symfony 从路由认识它

    经过上一篇文章之后,我们呢,可以访问这个默认的页面,你也会看到一堆高级的debug工具.好了,这次我们开始更多地了解这个symfony2.0. 首先我们要明白一点,Symfony2 的配置是一个着实很 ...

  6. 40. Combination Sum II (Back-Track)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  7. Oracle_in_not-in_distinct_minsu的用法

    create table a( id int, username ) ); create table b( id int, username ) ); ,'小明'); ,'小红'); ,'小君'); ...

  8. FILTER:progid:DXImageTransform.Microsoft.Gradient使用

    FILTER:progid:DXImageTransform.Microsoft.Gradient使用 语法: filter:progid:DXImageTransform.Microsoft.Gra ...

  9. 单源最短路:Bellman-Ford算法 及 证明

    描述: 求图中某一点到其他任一点的最短距离. 操作: 1. 初始化 结果保存在一个dist数组里,源点的结果初始化为0,其他初始化为无穷大(如INT32_MAX). 2. 计算: 两重for循环,第一 ...

  10. iOS load和initialize的区别

    可能有些还不清楚load和initialize的区别,下面简单说一下: 首先说一下 + initialize 方法:苹果官方对这个方法有这样的一段描述:这个方法会在 第一次初始化这个类之前 被调用,我 ...