MonoRail学习笔记十四:分页功能的使用

在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;}
}

}
public void List()
{
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学习笔记十四:分页功能的使用
提供了两种方式的分页,按页码和按前后页的方式,当然也可以定制自己需要的分页方式,代码很简单

你可能感兴趣的:(.net,asp.net,asp)