五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 在asp.net mvc中創(chuàng)建使用Linq to sql的分頁控件

在asp.net mvc中創(chuàng)建使用Linq to sql的分頁控件

文章來源:365jz.com     點擊數(shù):404    更新時間:2009-09-16 11:50   參與評論
2009-09-15修改,精簡一些冗雜的代碼,僅保留核心

點擊下載源代碼及控件:SourceCode 

在使用Linq to sql做為數(shù)據(jù)源的可以使用該工具編碼出快速高效的數(shù)據(jù)綁定,以下僅列出了在asp.net mvc中運用的例子
注T:泛型

引用上面的項目
新建一個分頁類繼承上面的類
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Helper
{
    
public class PagedDataSource<T>:
        Rsion.ASP.NET.Data.Linq.PagedDataSource
<T> where T:class
    {
        
public PagedDataSource()
            : 
base(new Models.DbContext())
        {
        }
    }
}
這樣就可以使用分頁了
創(chuàng)建一個分頁數(shù)據(jù)源對象:
PagedDataSource<T> ps = new PagedDataSource<T>();
            ps.CurrentPageIndex 
= (page??1)-1;//當(dāng)前頁,page為參數(shù)
            ps.PageSize = 1;//每頁顯示數(shù)目
            ps.IsDescendingSort = true;//是否倒序排列
            ps.OrderBy = a => a.AddDate;//根據(jù)字段排序
            ps.SelectObject = a => a;  //選擇字段          ps.Condition = a => true; //符合選擇的條件
           
//ps就做為一個數(shù)據(jù)源了。
//下面在mvc中返回這個數(shù)據(jù)源
 return View(ps);

ps.SelectObject = a => a;  //選擇字段
//如果僅選取實體類的一個或幾個屬性則可以新建一個繼承改實體類的子類,如:
public class SubT:T{}
接著就可以通過:
ps.SelectObject
=a=>new SubT{..};
在View中將IView設(shè)置為
Inherits="System.Web.Mvc.ViewPage<WgEdu.Helper.PagedDataSource<要迭代的類型>>"
通過Model.PagedInfoContent屬性獲取分頁控制和顯示信息
下面是View的代碼
<%@ Page Language="C#"   Inherits="System.Web.Mvc.ViewPage<Helper.PagedDataSource<Models.T>>" %>
<h2 class="controlnav">書籍列表</h2>
    
<table cellspacing="0" class="mgr">
        
<tr>
            
<th style="width:250px;">名稱</th>
        
</tr>
    
<% foreach (var item in Model)%>
        
<tr>
            
<td>
                
<%= Html.Encode(item.Name) %><!--假設(shè)T包含一個Name屬性-->
            
</td>
        </tr>
    
<% }%>
    
</table>
      <!--分頁信息顯示在下面-->

    
<%=Model.PagedInfoContent %>
即實現(xiàn)了如下分頁效果:

如果你覺得樣式太呆板,可以自己通過獲取RecordCount,PageCount,CurrentPageIndex等進行綁定!

怎樣是不是很簡單呢??
希望大家支持我http://www.rsion.com/
Tag標(biāo)簽: Asp.NET,SQL,asp.net MVC

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇

發(fā)表評論 (404人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號