練習題 | mvc查詢
這是一個蠻常見的功能,使用ASP.NETMVC開發,將某一個資料以列表方式顯示,並且加上分頁功能,另外還要有查詢功能,而希望顯示分頁的時候可以保留查詢的條件(也就是查詢結果也要能夠分頁顯示),因為有可能查詢的欄位會有相當多個,所以不希望是以Get的方式讓查詢條件以QueryString的方式傳遞到後端,而是使用Post的方式來做傳遞(因為這不是用在一般的前台頁面,而是常見於後台的操作頁面)。其實這樣的功能也不是相當複雜,我在之前的資料分頁文章也曾經做過說明,例如以下這一篇:ASP.NETMVC資料分頁MVCPaging2.0應用Part.1:一般...
這是一個蠻常見的功能,使用 ASP.NET MVC 開發,將某一個資料以列表方式顯示,並且加上分頁功能,另外還要有查詢功能,而希望顯示分頁的時候可以保留查詢的條件(也就是查詢結果也要能夠分頁顯示),因為有可能查詢的欄位會有相當多個,所以不希望是以 Get 的方式讓查詢條件以 QueryString 的方式傳遞到後端,而是使用 Post 的方式來做傳遞(因為這不是用在一般的前台頁面,而是常見於後台的操作頁面)。
其實這樣的功能也不是相當複雜,我在之前的資料分頁文章也曾經做過說明,例如以下這一篇:
ASP.NET MVC 資料分頁 MVCPaging 2.0 應用 Part.1:一般、表單(Form)[1]
不過這一次會有不一樣的方式來實作,分頁套件會使用「PagedList.Mvc」,因為查詢條件可能會有相當多個的情況,所以會建立一個 ViewModel 來使用,藉由這樣的一個範例說明可以讓初學者能夠瞭解類似這樣的需求應該要如何處理。
開發環境:Visual Studio 2013 Update 3, LocalDB, ASP.NET MVC 5
首先在 VS2013 裡建立了一個 ASP.NET MVC 5 網站專案,加入使用 Entity Framework 6.1.1 以及 PagedList.Mvc,
建立 LocalDB,使用的範例資料庫是 Northwind,
使用 Entity Fremework 建立 Model,使用的建立方式為「來自資料庫的 Code First」,
接著 ViewModels 目錄,在目錄中建立了兩個等一下會使用到的 ViewModel 類別,一個是用來作為查詢欄位使用的 Model,另一個則是頁面顯示所使用的 Model,頁面顯示的 ViewModel 會包含分頁資料、查詢、分頁 Index 的資料,
ProductSearchModel.cs
ProductListViewModel.cs
接著建立 ...