程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET MVC實現查詢+分頁

ASP.NET MVC實現查詢+分頁

編輯:關於ASP.NET

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved