快速业务通道

ASP.NET MVC实现查询+分页

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

在asp.net中我们知道有viewstate这样的页面级容器为我们保存表单数据,这样我们每次提交时数据都不会丢失,很容易的完成查询+分页的实现。找过相关MVC分页的例子,都是扩展HtmlHelper方法来实现。我想大家在ASP.NET开发中都用过 wuqi的AspNetPager分页控件以及dacey的NSunPage用来开发Winform项目的分页控件非常方便的满足了大家的分页需求。那么我们来看下在MVC中的查询+分页是怎么实现的。(这里我用到了wuqi的mvcpager)

下面例子是asp.net中的分页查询:

前台代码:

<html>
<body>
<form id="form1" runat="server">
部门编号:<asp:TextBox ID="deptcode" Width="80px" runat="server"></asp:TextBox>
部门名称:<asp:TextBox ID="deptname" Width="80px" runat="server" ></asp:TextBox>
<asp:Button ID="btnquery" runat="server" Text="查询" onclick=" btnquery_Click"/>
<table class="TableBlock" width="100%" style="margin-top: 10px;">
               <tr>
               <th>编号</th>
               <th>名称</th>
               </tr>
<asp:Repeater ID="TableBlockList" runat="server">
   <ItemTemplate>
               <tr>
               <td><%#Eval("code")  %></td>
               <td><%#Eval("name")  %></td>
</tr>
   </ItemTemplate>
   </asp:Repeater>
</table>
</form>
</body>
</html>

后台代码:

protected virtual SelectSqlSection GetSelectSearch()
{
       SelectSqlSection select = db.GetSelectSqlSection ();
       if (!string.IsNullOrEmpty (deptname.Text))  {
           select.Where (View_DeptQueryInfo.__name.Like(deptname.Text  + "%"));
       }
       if(!string.IsNullOrEmpty(deptcode.Text)){
           select.Where (View_DeptQueryInfo.__code.Like(deptcode.Text  + "%"));
       }
       return select;
}
protected void BindTable(Repeater rpt, AspNetPager anp)
{
       int countPage = 0;
       DataTable dt =db.SelectPageToDataTable(GetSelectSearch (), anp.PageSize, anp.CurrentPageIndex,
out countPage);
       anp.RecordCount = countPage;
       rpt.DataSource = dt;
       rpt.DataBind();
}

以上就完成了查询分页的功能,没什么特别的和我们做winform的差不多。第二次查询一样能获得表单内的值。

那么asp.net mvc中怎么实现呢?用什么来保存表单数据呢?记得原来写java的时候我是用session这样笨拙的方法来保存查询提交后的方法来保存用户查询条件的。那么在asp.net mvc中我们该怎么实现呢?

页面代码:

<html>
<body>
     <form id="form1" method="post" action="/Dept/Dept" runat="server">
      部门名称:<input id="dep

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号