(四) MvcContrib插件实现MVC的分页
来源:互联网 发布:搞笑自拍软件 编辑:程序博客网 时间:2024/05/21 14:43
1. 创建数据表
create table Department(DepartmentId int,DepartNo varchar(200) primary key,DepartName varchar(200),ParentID int,Remark text)create table Employee(EmployeeNo varchar(20) primary key,EmployeeName varchar(100),Sex char(2),Birthday datetime,Marital varchar(10),DepartmentID int)insert into Department values(1,'1','Business1',0,'No')insert into Department values(2,'2','Business2',1,'No')insert into Department values(3,'3','Business3',2,'No')insert into Department values(4,'4','Business4',2,'No')insert into Department values(5,'5','Business5',2,'No')insert into Department values(6,'6','Business6',2,'No')insert into Department values(7,'7','Business7',2,'No')insert into Department values(8,'8','Business8',2,'No')insert into Department values(9,'9','Business9',2,'No') insert into Employee values('1001','name1','1','1988-08-31','no',1)insert into Employee values('1002','name2','1','1988-08-31','no',2)insert into Employee values('1003','name3','1','1988-08-31','no',1)insert into Employee values('1004','name4','1','1988-08-31','no',1)insert into Employee values('1005','name5','1','1988-08-31','no',1)insert into Employee values('1006','name6','1','1988-08-31','no',1)insert into Employee values('1007','name7','1','1988-08-31','no',1)insert into Employee values('1008','name8','1','1988-08-31','no',1)insert into Employee values('1009','name9','1','1988-08-31','no',1)
2. 添加引用mvccontrib,下载地址为http://mvccontrib.codeplex.com/
3. 在Models中添加Model.dbml
4. 在controller中添加ContribController,代码如下:
public class ContribController :BaseController { // // GET: /Contrib/ public ActionResult Index(int? page,GridSortOptions model) { ViewBag.model = model; IEnumerable<Employee> list = DataContext.Employees; if(!string.IsNullOrEmpty(model.Column)) { list = list.OrderBy(model.Column,model.Direction); } list = list.AsPagination(page ??1,5); return View(list); } } public class BaseController:Controller { private ModelDataContext _DataContext = null; protected ModelDataContext DataContext { get { if(_DataContext==null) _DataContext = new ModelDataContext(); var options = new DataLoadOptions(); options.LoadWith<Employee>(p => p.EmployeeNo); _DataContext.LoadOptions = options; return _DataContext; } } }
5 右击添加视图Views,添加Index页面
@*@model IEnumerable<MVCPage.Models.Employee>*@@model IPagination<MVCPage.Models.Employee>@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml";}<h2> Index</h2>@using MvcContrib.UI.Grid@using MvcContrib.Pagination;@using MvcContrib.UI.Pager;@*@Html.Grid(Model).Columns(column =>{ column.For(p=>p.EmployeeNo).Named("编号"); column.For(p=>p.EmployeeName).Named("姓名"); column.For(p=>p.Sex=="1"?"男":"女").Named("性别"); column.For(p=>p.Birthday).Format("{0:yyyy/MM/dd}").Named("出生年月"); // 格式化数据 column.For(p=>p.Marital=="1"?"是":"否").Named("是否婚配"); // 三级运算符}).Attributes(@width => "100%", @border => "1", @style => "text-align:center;border-collapse:collapse");*@@Html.Grid(Model).Sort(ViewBag.model as GridSortOptions).Columns(column =>{ column.For(p=>p.EmployeeNo).Named("编号"); column.For(p=>p.EmployeeName).Named("姓名"); column.For(p=>p.Sex=="1"?"男":"女").Named("性别").Sortable(false); column.For(p=>p.Birthday).Format("{0:yyyy/MM/dd}").Named("出生年月"); // 格式化数据 column.For(p=>p.Marital=="1"?"是":"否").Named("是否婚配").Sortable(false); // 三级运算符}).Attributes(@width => "100%", @border => "1", @style => "text-align:center;border-collapse:collapse")@Html.Pager(Model).First("First").Next("Next").Previous("Previous").Last("Last").Format("Total{2},Current{0}-{1}")
6. 修改Global中路由,注意开始添加引用
源码下载地址:http://files.cnblogs.com/byzy/MVCPage.rar
- (四) MvcContrib插件实现MVC的分页
- 使用MvcContrib的FormHelper
- Asp.net Mvc中MVCContrib中无法使用Castle的发解决方案
- Asp.net Mvc中MVCContrib中无法使用Castle的发解决方案
- Asp.net MVC学习日记十二(强大的MvcContrib,自动生成html元素)
- Mybatis分页插件的实现
- 使用MvcContrib分离ASP.NET MVC项目
- spring mvc整合jquery pagination插件,实现无刷新分页
- 使用spring-mvc,bootstrap-table插件实现分页
- asp.net mvc分页的实现 mvcpaging
- mvc+mysql实现的分页技术
- ASP.NET MVC分页的实现
- .net MVC框架下的分页实现
- Spring MVC 关于分页的简单实现
- Extjs MVC 与 Spring MVC 交互分页的实现
- 关于MVC实现分页
- MVC实现自定义分页
- 自已实现的简单jQuery分页插件
- Form技巧:如果在输入Item之后,可以自动执行GO_BLOCK等内置函数
- 利用nginx+apache+mysql+php+memcached+squid搭建门户网站
- 如果不是异地
- 加载不同格式类型图片封转函数(流中加载)
- Android ApiDemos示例解析(175):Views->Lists->8. Photos
- (四) MvcContrib插件实现MVC的分页
- 关于osip协议栈的优化
- 服务器推送数据 和 客户端定时访问服务器的实现
- 数据结构队列之环形队列的动态数组实现:queue
- 黑马程序员之VS2010学习笔记:VS2010MSDN安装图解
- TCP协议三次握手过程分析
- vs断点调试需要修改的几个选项
- Segue特殊用法:UITableViewController根据参数导航到不同的子页面或自身
- LocalActivityManager没有从内部mActivities 地图上删除activity成功