天天看點

ASP.NET MVC5 PagedList分頁示例

ASP.NET MVC是目前ASP.NET開發當中輕量級的Web開發解決方案,在ASP.NET MVC概述這篇譯文當中,已經詳細的介紹了ASP.NET MVC與Web Forms的差別以及各自的适用場景。由于ASP.NET MVC尤其适合網站的開發(Web Forms更适合業務系統的開發),目前成為很多網站開發者的首先架構。

這裡舉個典型的例子(表格的分頁),以此熟悉一下ASP.NET MVC的開發。開發環境:Windows 8.1企業版+VS2013旗艦版+SQL Server 2014。

首先利用VS2013的向導,建立一個ASP.NET MVC5的應用程式。

這個應用程式是可以直接運作的,提供了一些預設的功能(注冊、登入)以及各自的實作示例代碼,基本上開發者參考着這些代碼就能簡單開發了。這裡順便說一句,VS2013非常人性化,為開發者考慮了很多。

一、修改資料庫配置

由于這是預設建立的ASP.NET MVC應用程式,便于我們開發,我們最好修改一下資料庫配置。打開項目根目錄下的Web.config檔案(注意,不是~/Views/下的Web.config)。

将DefaultConnection配置為:

由于我們要開發一個分頁Demo,順便在appSettings配置節點下,添加:

二、建立Model

一般我們開發MVC應用,都是從Model開始。我們在項目的Models檔案夾下面建立一個學生模型類。

三、建立資料操作類

我們先在項目的根目錄下,建立一個DAL目錄。然後在DAL目錄下,建立一個StudentContext類,并讓它繼承自DbContext。我們這個例子使用EF來實作資料庫的操作。

由于建立的MVC5應用,已經預設引入了EF6.0,可以不用通過管理NuGet程式包來線上安裝EF。

StudentContext代碼如下:

我們還需要使用到PagedList來進行分頁,是以需要線上安裝。我們可以通過程式包管理器控制台輸入指令的方式進行安裝。

ASP.NET MVC5 PagedList分頁示例

這樣我們所需要的dll就自動添加到了項目當中。

四、建立Controller

MVC開發中有個規則叫做:約定大于配置。即:在建立Controller的時候,類名統一以Controller結尾,是以我們建立一個StudentController的控制器。

如上代碼需要引入PagedList命名空間。

五、建立View

我們在StudentController控制器中的Index方法旁,滑鼠右鍵-添加視圖,選擇相應的選項(此前先編譯一下項目,否則可能無法正常添加視圖)。

ASP.NET MVC5 PagedList分頁示例

将建立的~/Student/Index視圖檔案修改為:

六、準備測試資料

在項目的根目錄下建立Initializer目錄,然後在裡面建立一個StudentInitializer類,并繼承自System.Data.Entity.DropCreateDatabaseAlways<StudentContext>。

在Web.config的entityFramework節點下添加如下配置:

MVC5PageDemo.DAL.StudentContext是命名空間名+類名,逗号後面的MVC5PageDemo是StudentContext類所在的dll檔案的名稱。context節點下的databaseInitializer的配置同理。

如上就完成了基于ASP.NET MVC5分頁表格的開發。

最終的效果圖:

ASP.NET MVC5 PagedList分頁示例