ASP.NET MVC实现查询+分页

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

时间: 2024-11-01 12:24:39

ASP.NET MVC实现查询+分页的相关文章

ASP.NET MVC 如何查询其他数据库里的表

问题描述 ASP.NET MVC 如何查询其他数据库里的表 我写的Model public class DEPARTMENT { public int ID { get; set; } public string NAME { get; set; } public string TYPE { get; set; } public string DESCRIPTION { get; set; } public int CLASS { get; set; } public int SUBCLS {

ASP.NET MVC 5 - 查询Details和Delete方法

原文:ASP.NET MVC 5 - 查询Details和Delete方法 在这部分教程中,接下来我们将讨论自动生成的Details和Delete方法. 查询Details和Delete方法 打开Movie控制器并查看Details方法. public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Movie movie

ASP.NET MVC 超简单 分页

C# public ActionResult BiaoDan(int? page) { int pageindex = 1; if (page > 0) { pageindex = (int)page; } var pagesize = 6; pageindex = pageindex - 1; var db = new ddrDBEntities(); var rowcount = db.BiaoDan.Count(); if (rowcount < 1) { return Content(

asp.net-ASP.NET MVC怎么使用分页存储过程

问题描述 ASP.NET MVC怎么使用分页存储过程 ASP.NET MVC+EF数据库,Controller中使用pageindex参数怎么实现调用数据库的分页存储过程? 解决方案 http://kb.cnblogs.com/page/59560/

详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

一起谈.NET技术,详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发

艾伟_转载:ASP.NET MVC分页的实现

在ASP.NET中,GridView控件本身就带有分页的功能,只要把当前页面的索引值赋给GridView的PageIndex就可以实现了分页,至于数据怎么分页,全都由GridView封装起来了. 在ASP.NET MVC中分页的实现就只能靠自己来设计了.首先来说一下分页的原理.现在有一个张news表,中间有很多信息,我们假设一页显示5条记录,这样,页面数量=总记录数/5:这里,如果出现小数,得进位取整.如比总记录和数为51,那么分的页面数量是11,最后一页只有一条记录.好,有这样一个思路后,现在

自学MVC看这里——全网最全ASP.NET MVC 教程汇总

MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口.本文从Why,What,How三个角度整理MVC 的学习资源,让学习者第一时间找到最有价值的文章,获取最彻底的ASp.NET MVC 框架知识,Let's go!   1. Why :为什么需要ASP.NET MVC 本章主要为大家汇总了为什么学习Asp.net MVC替代WebForms,产生ASP.N

ASP.NET MVC 5 入门指南汇总

原文:ASP.NET MVC 5 入门指南汇总 经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解,全文最终完成了一个管理影片的小系统,非常适合新手入门ASP.NET MVC 5 (新增.删除.查询.更新) ,并由此开始开发工作. 现将12篇文章汇总如下: 1. ASP.NET MVC 5 - 开始MVC 5之旅 2. ASP.NET MVC 5