.net MVC 中提供了一个分页组件“MvcPager”,用起来还算方便,实用性较强。

简单写一下使用方法,如有不足的地方,请各位大大给小弟指正出来。

一、准备工作

使用这个组件需要 MvcPager.dll 与 MvcPager.js

下载地址:http://pan.baidu.com/s/1jI5BpKa

二、代码

1、项目引用MvcPager.dll

2、在页面分页显示,首先需要一些数据,这里创建了一个实体 LoginModel 包含用户名、密码两个属性,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace WebTest.Models
{
public class LoginModel
{
/// <summary>
/// 用户名
/// </summary>
public string UserName { get; set; } /// <summary>
/// 密码
/// </summary>
public string Pwd { get; set; }
}
}

3、控制器中写一个返回实体列表(列表为“PagedList”)的方法,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Webdiyer.WebControls.Mvc;
using WebTest.Models; namespace WebTest.Controllers
{
public class LoginController : Controller
{
/// <summary>
/// 实体列表
/// </summary>
/// <returns></returns>
public ActionResult PageTest(int pageIndex = )
{
int totalCount = ;
int pageSize = ; List<LoginModel> userList = new List<LoginModel>();
for (int i = ; i <= totalCount; i++)
{
LoginModel model = new LoginModel();
model.UserName = "用户" + i;
model.Pwd = i.ToString();
userList.Add(model);
} PagedList<LoginModel> pList = userList.ToPagedList(pageIndex, pageSize);
pList.PageSize = pageSize;
pList.TotalItemCount = totalCount;
pList.CurrentPageIndex = pageIndex;
return View(pList);
}
}
}

4、如果需要 使用跳转按钮功能 则页面要添加 MvcPager.js,如果不需要不用添加了。 视图代码如下:

@using WebTest.Models;
@using Webdiyer.WebControls.Mvc;
@model PagedList<LoginModel> @{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>PageTest</title>
<style type="text/css"> /*分页容器 主体样式*/
.pager {
padding:10px;
} /*可用的按钮*/
.able {
margin: 0 2px;
padding: 3px 10px;
border: 1px solid #ddd;
background-color: #fff;
color: #777;
cursor: default;
} /*不可用的按钮*/
.disable {
margin: 0 2px;
padding: 3px 10px;
border: 1px solid #ddd;
background-color: #fff;
color: #777;
cursor:default;
} /*当前按钮*/
.current {
margin: 0 2px;
padding: 3px 10px;
border: 1px solid #337ab7;
background-color: #337ab7;
color: #fff;
cursor: default;
}
</style>
</head>
<body>
<div style="padding:10px;">
@foreach(var item in Model)
{
<table>
<tr>
<td style="width:130px;">
名称:&nbsp; @item.UserName
</td>
<td>
密码:&nbsp; @item.Pwd
</td>
</tr>
</table>
}
</div>
@Html.Pager(Model,
new PagerOptions
{
Id = "pager",
PageIndexParameterName = "pageIndex",//控制器参数
ContainerTagName = "span",//分页容器形式(默认好像是div)
CssClass = "pager",//容器css class
ShowMorePagerItems = false,//“更多”按钮不显示
CurrentPagerItemTemplate = "<span class=\"current\">{0}</span>",//当前按钮 模版
DisabledPagerItemTemplate = "<span class=\"disable\">{0}</span>",//不可用按钮 模版
PagerItemTemplate = "<span class=\"able\">{0}</span>",//可用按钮 模版
FirstPageText = "首页",
PrevPageText = "上一页",
NextPageText = "下一页",
LastPageText = "末页",
PageIndexBoxId = "pagebox",
GoToButtonId = "goBtn"
}
)
<input type="text" id="pagebox" />
<button id="goBtn">跳转</button> <script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/MvcPager.min.js"></script>
<script type="text/javascript">
$(function () {
$("#goBtn").click(function () {
var pager = Webdiyer.MvcPagers.getById("pager");
if (pager != null) {
pager.goToPage($("#pagebox").val());
}
});
});
</script>
</body>
</html>

PagerOptions 有一些属性(自行百度,都能看明白),代码里我只写了几个常用的

下面的几个都是分页组件的模版(分页按钮本身都是a标签,加上模版就是在a标签外面套上模版,下面的几个就是 a标签外面套了一个样式分别为current、disableable的span标签 这样能让分页组件变得好看一些^_^)

CurrentPagerItemTemplate = "<span class=\"current\">{0}</span>",//当前按钮 模版
DisabledPagerItemTemplate = "<span class=\"disable\">{0}</span>",//不可用按钮 模版(比如当前页为第一页时,“上一页”、“首页” 这两个按钮就是“不可用按钮”)
PagerItemTemplate = "<span class=\"able\">{0}</span>",//可用按钮 模版

如果要加上跳转按钮功能,则需要在页面引用jqueryMvcPager.js

PageIndexBoxId = "pagebox", //指向文本框
GoToButtonId = "goBtn"//指向按钮

并加入 上面代码中的js就可以啦。

5、运行后如下图:

试了下 可以顺利切换。^_^

.net MVC 中“MvcPager” 插件的简单使用。的更多相关文章

  1. ASP.NET MVC中使用highcharts 生成简单的折线图

        直接上步骤:   生成一个options,选项包含了一些基本的配置,如标题,坐标刻度,serial等: 配置X轴显示的Category数据,为一个数组: 配置Y轴显示的数据,也为一个数据: 用 ...

  2. ASP.NET MVC中权限控制的简单实现

    1.重写AuthorizeAttribute类,用自己的权限控制逻辑重写AuthorizeCore方法 public class MyAuthorizeAttribute : AuthorizeAtt ...

  3. spring mvc 中Uploadify插件的使用

    具体过程不写了,直接上代码 jsp代码 $("#uplodefile").uploadify({ 'swf': '/statics/uploadify/uploadify.swf' ...

  4. ElasticSearch中head插件的简单用法

    1.首先在左侧打开Query栏. 2.Query下方的第一栏是分别输入es的地址.端口号.index.type. 3.Query下方的第二栏是输入将要执行的方式,旁边的下拉框是辅助选择执行的类型,如图 ...

  5. IOC运用到MVC中

    IOC可以摒弃掉类中类的紧耦合,让设计和重用更简单,将IOC加入到MVC中的实现非常简单,那么有哪几种方法?它们的实现又是什么原理呢? IOC在MVC中的注入,主要是在获取Controller对象中实 ...

  6. ASP.NET MVC中使用Ninject

    ASP.NET MVC中使用Ninject 在[ASP.NET MVC 小牛之路]系列上一篇文章(依赖注入(DI)和Ninject)的末尾提到了在ASP.NET MVC中使用Ninject要做的两件事 ...

  7. 在MVC项目中分页使用MvcPager插件

    参考网站  http://www.webdiyer.com/mvcpager/demos/ 这个插件非常简单易用,如果想快速使用 可以参考我这篇文章,其实参考网站也是非常简单的 首先选择你的web项目 ...

  8. Ninject在mvc中的简单配置

    前言 Ninject是一款开源的轻量级的依赖注入插件.从接触ioc以来,一直都是使用这个,感觉用起来还是不错的,配置起来也很方便简单.在mvc中更是基本傻瓜式的配置. 开发前的准备 新建一个mvc3项 ...

  9. mvc中html导出成word下载-简单粗暴方式

    由于工作需求,需要把html简历页导出成word下载.网上搜索了很多解决方案,基本都是用一些插件,然后写法也很麻烦,需要创建模板什么的. 固定替换值  代码一大堆.但是对于我的需求来说  并没有什么用 ...

随机推荐

  1. Python学习之---冒泡,选择,插入排序

    Python学习之---冒泡,选择,插入排序 最近学习了python基础,写一下3大排序练练手: 1 ''' 2 Created on 2013-8-23 3 4 @author: codegeek ...

  2. npm 安装与常用命令

    下载nodejs并安装,会附带安装npm工具https://nodejs.org/en/download/ npm 常用命令#在执行命令时需要管理员权限,mac请用sudo来执行,windows请使用 ...

  3. ios学习笔记(二)之Objective-C类、继承、类别和协议

    二:Objective-C类与继承和协议 在前面已经提过了对象的初始化,这里首先讲的是变量. 2.1 变量 局部变量(内部变量): 局部变量是在方法内作定义说明的,其作用域仅限于方法内,离开方法后使用 ...

  4. LigerUI权限系统之角色管理

    角色管理比前面几个页面都稍显复杂点.好吧,还是先看图. 左边是角色列表,右边是页面列表,它们也是多对多的关系,即一个角色可以访问多个页面,同时一个页面也可以被多个角色访问. 点击左边的角色,刷新右边页 ...

  5. Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯

    解决方案. 条件: 1.手机android 商店下载 blueTerm 2.向arduino中载入如下代码: char val; ; void setup() { Serial.begin(); pi ...

  6. c++代码的陪伴下----菜鸟的转变

    在c++代码的陪伴下快乐的长大 学了c++也快一年了,在这里把自己的心得体会说一下吧. 1.感觉自己这一年做过的代码行数也不少,博客点击量和浏览量却不是很多,可能是自己所编的程序里面都是很基础的吧,对 ...

  7. 如何在网站中加入markdown

    在vue组件中加入markdown,模板使用的是webpack 我是这样做的: 因为是npm引入的,所以markdown是遵循CommonJS规范的,需要在webpack.base.conf.js里引 ...

  8. jQuery Ajax用法

    jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...

  9. 微信企业号 JS-SDK:上传图片

    微信的JS-SDK提供了微信客户端相关的功能,如:拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫等微信特有的能力,为微信用户提供更优质的网页体验.这里将会介绍如何通过调用JS ...

  10. 手机端H5 header定义样式

    <meta content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0" ...