0%

ASP.NET MVC — Model

何謂Model?

MVC中有關「資料」的任務都是皆由Model負責。負責定義資料型態,不管是在Controller或是View中,所有資料的型態都會參考到View。

Model的任務

MVC強調關注點分離,其中Model只負責與資料有關的商業邏輯,其他如:控制網站流程、資料流向或頁面顯示等工作,Model都不會介入,Model更著重於有效率地提供資料的存取、資料格式驗證、商業邏輯驗證等等。獨立性非常高的Model常會因為撰寫太多商業邏輯後,導致閱讀不易,因此建議在寫大量的商業邏輯可以多加一個Service的資料夾,讓Model只專注在資料存取及格式驗證上。

動手建立Model看看吧

photo

我們對Model資料夾按右鍵,增加一個Todo的類別,給他幾個屬性,如上圖如果對類別有問題的可以參考我這篇,有介紹類別與物件。

好我們再建立一個Service的資料夾,並新增一個function來建立物件,如下圖。

photo

這邊只是簡單介紹Model再MVC的角色,當然實務上Model更容易用來接收資料庫的資料。

再來有幾個步驟我們在Controller中使用我們寫的function並傳給View。

photo

再來我們要新增Index的View

photo

並且把剛剛在Controller上傳過來的Model顯示出來看看,記得在上頭的地方要宣告,在使用時才有參數提示,這是強型別的特性。

photo

看看成果~

photo

DataAnnotations語意標註

再來介紹我們可以使用DataAnnotations進行語意標註,例如用「DisplayName」來設定顯示名稱,「Requierd」要求資料必須輸入等等。更多詳細資料可以參考這裡。本人文章可以參考這裡

使用時記得引用以下命名空間

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

photo

修改一下,我們一開始建立的Model,並且在View上試試效果。

photo

photo

Html.DisplayNameFor是屬於HtmlHelper內的一種方法,在View主題的時候會提到。

以上就是Model的簡單基本介紹,有空會再補充稍微進階的用法。

文章若有錯誤或想交流,還不吝嗇給予指教哦