基于ASP.NET的MVC框架下的MvcPaper分页控件的使用技术
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分页控件的使用技术的更多相关文章
- 【干货分享】JPager.Net MVC超好用轻量级分页控件
JPager.Net MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象. JPager.Net MVC好用的轻量级分页控件,实现非常简单,使用也非常简单. JPager.Net M ...
- ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源
ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件- ...
- MVC 下 使用MvcPager分页控件
先去下载 mvcpage http://mvcpager.codeplex.com/releases/view/64098只需要一个 MvcPager.dll文件即可 然后引用MvcPager.dll ...
- MVC中的自定义标签分页控件,仅供大家学习!!
public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, ...
- asp.net webform 自定义分页控件
做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...
- Net MVC轻量级分页控件
JPager.Net MVC超好用轻量级分页控件 JPager.Net MVC好用的轻量级分页控件,好用到你无法想象,轻量到你无法想象. JPager.Net MVC好用的轻量级分页控件,实现 ...
- 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子
KnockOutJS学习系列----(一) 好几个月没去写博客了,最近也是因为项目紧张,不过这个不是借口,J. 很多时候可能是因为事情一多,然后没法静下来心来去写点东西,学点东西. 也很抱歉,突然看到 ...
- 【工作笔记二】ASP.NET MVC框架下使用MVVM模式
ASP.NET MVC框架下使用MVVM模式 原文:http://www.cnblogs.com/n-pei/archive/2011/07/21/2113022.html 对于asp.net mvc ...
- ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用
一.前言 1.本文主要内容 使用dotnet cli创建基于解决方案(sln+csproj)的项目 使用Visual Studio Code开发基于解决方案(sln+csproj)的项目 Visual ...
随机推荐
- django-引用静态文件
1.需要配置settings # 静态文件目录 STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') 2.页面加载静态文件 {% load sta ...
- Python实践练习:正则表达式查找
题目 编写一个程序,打开文件夹中所有的.txt 文件,查找匹配用户提供的正则表达式的所有行.结果应该打印到屏幕上. 代码 #!/usr/bin/python # -*- coding: UTF-8 - ...
- 少走弯路,给Java 1~5 年程序员的建议
参考:https://www.jianshu.com/p/5681a1f0aad6 今天LZ是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内 ...
- Readme.MD 例子
了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme. ...
- ICaptureGraphBuilder2::RenderStream 智能连接方法浅析
ICaptureGraphBuilder2::RenderStream HRESULT RenderStream( [in] const GUID *pCategory, [in] const GUI ...
- Kafka学习总结
Kafka学习总结 参考资料: 1.http://kafka.apachecn.org/, kafka官方文档 2.https://www.cnblogs.com/likehua/p/3999538. ...
- interrupt()方法的简单理解
interrupt() 方法只是改变中断状态而已,它不会中断一个正在运行的线程.这一方法实际完成的是,给受阻塞的线程发出一个中断信号,这样受阻线程就得以退出阻塞的状态.更确切的说,如果线程被Objec ...
- jQuery的基础dom和css操作
1.元素以及内容操作 $(function () { // alert($("a").html()); // 获取元素中间的html内容,包括标签和文本内容 // alert($( ...
- RemoteExt 远程验证
public class RemoteExtAttribute : RemoteAttribute { private string _resourceKey; public RemoteExtAtt ...
- Java 中的类
public class Test{ public static void main(String[] args){ Animal a1 = new Dog(); a1.shout();//编译通过 ...