在Asp.net开发中的GridView功能比较强大,可以方便的进行分页等操作。
在MonoRail中也提供了方便的分页功能,只要使用
PaginationHelper就可以了。当然,你如果是在数据库端进行分页的话就不是这篇笔记考虑的范围了。
Controller代码:
Model
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->publicclassUser
{
privateintid;
privatestringname,email,password,confirmation;
publicUser()
{
}
publicUser(stringname,stringemail)
{
this.name=name;
this.email=email;
}
publicintId
{
get{returnid;}
set{id=value;}
}
[ValidateNonEmpty("不能为空",FriendlyName="姓名")]
publicstringName
{
get{returnname;}
set{name=value;}
}
[ValidateNonEmpty,ValidateEmail]
publicstringEmail
{
get{returnemail;}
set{email=value;}
}
[ValidateNonEmpty]
publicstringPassword
{
get{returnpassword;}
set{password=value;}
}
[ValidateSameAs("Password")]
publicstringConfirmation
{
get{returnconfirmation;}
set{confirmation=value;}
}
}
publicvoidList()
{
IListlist=newArrayList();
for(inti=1;i<36;i++)
{
Useruser=newUser();
user.Id=i;
user.Name="永春_"+i;
user.Email="GSpring_"+i+"@hotmail.com";
list.Add(user);
}
PropertyBag.Add("list1",PaginationHelper.CreatePagination(this,list,10));
}
vm中代码:
#foreach($itemin$list1)
#beforeall
<table>
<tr>
<th>ID</th>
<th>姓名</th>
<th>邮件地址</th>
</tr>
#before
<tr
#odd
Style='color:gray'>
#even
Style='color:red'>
#each
<td>$item.Id</td>
<td>$item.Name</td>
<td>$item.Email</td>
#after
</tr>
#afterall
</table>
#nodata
没有数据
#end
<p>
当前显示$list1.FirstItem-$list1.LastItem条共$list1.TotalItems条
</p>
<p>
#if($list1.HasFirst)
$PaginationHelper.CreatePageLink(1,"第一页")
#end
#if($list1.HasPrevious)
$PaginationHelper.CreatePageLink($list1.PreviousIndex,"前一页")
#end
#if($list1.HasNext)
$PaginationHelper.CreatePageLink($list1.NextIndex,"后一页")
#end
#if($list1.HasLast)
$PaginationHelper.CreatePageLink($list1.LastIndex,"末页")
#end
<p>
#foreach($itemin[1..$list1.LastIndex])
$PaginationHelper.CreatePageLink($item,$item.toString())
#end
所有的分页相关功能几乎都在PaginationHelper中实现了,我们只要调用就可以了。
最后的效果如下:
提供了两种方式的分页,按页码和按前后页的方式,当然也可以定制自己需要的分页方式,代码很简单
分享到:
相关推荐
Monorail PaginationHelper.CreateCustomPage 自定义分页 应用 Monorail分页
:monorail: 单轨| 网络设计系统Monorail for React帮助开发人员执行。 这些组件由SimSpace的工程师和UX设计师的核心团队开发,可实现可靠的开发工作流程,以构建美观且功能强大的Web项目。快速开始将Monorail添加到...
MonoRail学习笔记一:一个小例子 随着微软放出消息,准备发布MVC的框架,各种议论纷至沓来。 以前用java、jsp对它的MVC结构、集中控制印象特别深刻,自从用了.NET后,虽然webform的控件很好用,总感觉有点怪怪的 ...
MonoRail示例建立一个简单的mvc结构
MonoRail基础学习文档和实例 欢迎大学学习交流
学习资料monorail
研究MonoRail的几个功能 上传图片功能 和 整合FCK的功能
monorail是一个第三方的.net mvc技术框架。在使用的时候非常的方便,功能也非常的强大。该例子只是一个简单的使用介绍。
它们可用于使用任何长的、最好是高质量的序列(例如来自另一个基因组草图的 scaftigs/contigs)来构建和完成高质量的基因组草图组装。 它们都依赖于准确的长 DNA 序列来修补现有基因组组装草案中的空白。 Cobbler...
Monorail .Net的sample
ShoppingCart-MonoRail.rar,这是monorail的一个经典实例
Kirby + Vue.js入门套件主要特征 :motorway: 自动路由 :magnifying_glass_tilted_left: SEO友好:元标记 :globe_with_meridians: :wheelchair_symbol: 无障碍前端路由 :monorail: :dizzy: 页面数据 :high_voltage: ...
这是一个monorail的过滤器实例,和java中的差不多
C#开发 MonoRail+IBatisNet +Velocity+vs2010的项目实例,初学者配置起来比较繁琐,配置好使用起来发现IBatisNet 还是很强大的!
monorail一个简单的例子 可以学习入门的
MonoRail 实体类生成器简单的操作为程序员节省时间。
C#开发 ibatisnet+monorail+vs2010的项目实例
Castle项目下的子项目 MonoRail,相关文档, 都是英文的,但写的很简单,英文不怎么好的也能看懂
SharpDevelop下的castle monorail工程模板,请拷贝到安装目录下 data\templates\project\CSharp 中。重启SharpDvelop即可选择MonoRail类型工程。