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來進行分頁,是以需要線上安裝。我們可以通過程式包管理器控制台輸入指令的方式進行安裝。
這樣我們所需要的dll就自動添加到了項目當中。
四、建立Controller
MVC開發中有個規則叫做:約定大于配置。即:在建立Controller的時候,類名統一以Controller結尾,是以我們建立一個StudentController的控制器。
如上代碼需要引入PagedList命名空間。
五、建立View
我們在StudentController控制器中的Index方法旁,滑鼠右鍵-添加視圖,選擇相應的選項(此前先編譯一下項目,否則可能無法正常添加視圖)。
将建立的~/Student/Index視圖檔案修改為:
六、準備測試資料
在項目的根目錄下建立Initializer目錄,然後在裡面建立一個StudentInitializer類,并繼承自System.Data.Entity.DropCreateDatabaseAlways<StudentContext>。
在Web.config的entityFramework節點下添加如下配置:
MVC5PageDemo.DAL.StudentContext是命名空間名+類名,逗号後面的MVC5PageDemo是StudentContext類所在的dll檔案的名稱。context節點下的databaseInitializer的配置同理。
如上就完成了基于ASP.NET MVC5分頁表格的開發。
最終的效果圖: