在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是基于.NET平台的一个MVC(Model-View-...
:monorail: 单轨| 网络设计系统Monorail for React帮助开发人员执行。 这些组件由SimSpace的工程师和UX设计师的核心团队开发,可实现可靠的开发工作流程,以构建美观且功能强大的Web项目。快速开始将Monorail添加到...
MonoRail是 Castle Project 的一部分,它是一个开源的、基于.NET框架的Web应用程序开发框架,设计用于替代ASP.NET Web Forms,提供了更面向对象...继续学习和探索MonoRail的其他功能,将帮助你充分利用这个强大的框架。
本资源包含“MonoRail基础学习文档”和“实例”,旨在帮助初学者快速入门并深入理解MonoRail的使用。 首先,让我们详细了解 MonoRail 的核心概念: 1. **Controller**:在MonoRail中,Controller是处理用户请求的...
MonoRail学习笔记一:一个小例子 随着微软放出消息,准备发布MVC的框架,各种议论纷至沓来。 以前用java、jsp对它的MVC结构、集中控制印象特别深刻,自从用了.NET后,虽然webform的控件很好用,总感觉有点怪怪的 ...
然而,由于提供的信息较少,无法确定此处“学习资料monorail”具体指的是哪个方面,因此我将从Monorail的多个可能含义来展开讨论。 首先,如果Monorail是指一种编程框架,最知名的可能是 Castle Monorail,这是一个...
它为.NET开发者提供了一种轻量级、灵活且功能丰富的替代方案,以实现Web应用程序的构建。在本小例子中,我们将探讨Monorail的基本概念和如何进行简单的应用开发。 首先,了解Monorail的核心概念: 1. **Model**...
MonoRail是.NET平台上的一款轻量级MVC(Model-View-Controller)框架,它提供了丰富的功能和灵活性,使得开发者能够更高效地构建Web应用程序。而实体类作为数据模型的核心组成部分,通常需要与数据库表结构一一对应...
Monorail是一个开源的Web...总的来说,Monorail的过滤器机制提供了强大的功能,可以帮助开发者在不侵入业务逻辑的情况下增强应用程序的功能和安全性。通过合理地使用过滤器,你可以创建更健壮、可扩展的Web应用程序。
《MonoRail:构建高效Web应用的框架探索》 MonoRail,这个名字在IT行业中或许并不如ASP.NET那样耳熟能详,但它却是.NET平台上的一个强大且灵活的Web应用程序框架。"ShoppingCart-MonoRail.rar"这个压缩包,包含了对...
5. **创建视图**:使用MonoRail的视图引擎(如NVelocity或NHaml)编写HTML模板,显示数据并接收用户输入。 6. **数据库操作**:通过iBATIS.NET的SqlMap对象执行CRUD操作,如查询、插入、更新和删除数据。 7. **...
在 MonoRail 中实现文件上传功能,特别是整合FCKeditor(一款富文本编辑器),可以极大地提升用户在网页上的编辑体验。 一、MonoRail上传文件 在MonoRail中处理文件上传,首先需要了解HTTP协议中的多部分/表单数据...
MonoRail支持多种视图引擎,如NVelocity或NHaml,允许开发者使用模板语言编写动态页面。 4. **模型(Models)**: 模型包含业务逻辑和数据,它们是应用程序的核心。在MonoRail中,模型类可以直接与数据库交互,或者...
MonoRail、IBatisNet 和 Velocity 是三个在C#开发中常用的技术框架,它们分别用于不同的领域,但在实际项目中常被结合使用以构建高效、灵活的Web应用。下面将详细介绍这三个技术及其组合使用的要点。 **MonoRail** ...
它们可用于使用任何长的、最好是高质量的序列(例如来自另一个基因组草图的 scaftigs/contigs)来构建和完成高质量的基因组草图组装。 它们都依赖于准确的长 DNA 序列来修补现有基因组组装草案中的空白。 Cobbler...
Monorail的MVC架构使得这些功能的实现更加直观和模块化,通过定义控制器动作,结合视图模板,可以轻松地构建出用户友好的文件管理系统。 在Monorail的文件管理中,可能会用到的技术包括HTTP上传机制、文件流处理、...
Monorail,中文常被称为“单轨框架”,是.NET平台上的一款轻量级Web应用程序...在深入学习Monorail时,你还会发现它对测试驱动开发(TDD)友好,支持依赖注入(DI)以及插件架构,这些都是它成为开发者选择的重要因素。
文件列表中的"实体类生成器"可能是生成实体类的工具程序,而"MonoRail+实体类生成器"可能是一个包含具体配置和示例的项目文件,用户可以通过这个项目了解如何使用实体类生成器与MonoRail框架配合工作。 总的来说,...
Monorail项目是一个典型的Web应用程序开发实例,其核心部分是一个名为“留言簿”(GuestBook)的功能模块。这个模块旨在提供一个在线平台,让用户能够方便地留下自己的信息,进行互动交流。本文将深入探讨Monorail...