1. 程式人生 > >ASP.NET MVC分頁的實現

ASP.NET MVC分頁的實現

在ASP.NET中,GridView控制元件本身就帶有分頁的功能,只要把當前頁面的索引值賦給GridView的PageIndex就可以實現了分頁,至於資料怎麼分頁,全都由GridView封裝起來了。

在ASP.NET MVC中分頁的實現就只能靠自己來設計了。首先來說一下分頁的原理。現在有一個張news表,中間有很多資訊,我們假設一頁顯示5條記錄,這樣,頁面數量=總記錄數/5;這裡,如果出現小數,得進位取整。如比總記錄和數為51,那麼分的頁面數量是11,最後一頁只有一條記錄。好,有這樣一個思路後,現在就來做ASP.NET MVC中的分頁了。

1、 資料庫和表

建立一個Data_Company的資料庫,建一張news表,表結構如下圖:

clip_image001

ID是主鍵,並助是自動增長列。

2、 現在,我們用O/R Designer來建立news表的LINQ To SQL的實體類。

建立一個名為MvcCompany的ASP.NET MVC Web Application專案,然後選中Models,右鍵,“新增”,“新建項”,選中C#中的“資料”,如下圖:

clip_image003

選擇“LINQ to SQL類”,名稱設為“CompanyData.dbml”,然後“新增”。

開啟“伺服器資源管理器”,建立連線,展開表,找到news表,拖到CompanyData.dbml的左邊表檢視區(注:.dbml檢視左邊是SQL表和SQL檢視區,右邊是SQL儲存過程和SQL函式區),效果如下圖:

clip_image004

在“解決方案資源管理器”下的,“Models”多了三個檔案,CompanyData.dbml,展開它,會有CompanyData.dbml.layout和CompanyData.designer.cs,前者是CompanyData.dbml檢視的一些資訊(比如news表在的座標等資訊),後者是news實體類及Data_Company資料庫的類,在資料庫類中聚合了news實體類。

3、 新增news列表類。因為一個news實體類,一次只能表示一條記錄,如果呈現一個news表中的資料,最好定義一個集合類來存臨時來存放news記錄的集合。

類的實現如下: