iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
1
自我挑戰組

後端或是ASP.NET Core的學習筆記系列 第 23

第23天:分辨Model與ViewModel

剛學MVC時常常Model與ViewModel搞不清楚。後來才裡解要看當下環境要什麼東西,常常把當下要用的那個東西稱為Model。

像講MVC的M指的Model是指跟資料庫、資料處理、資料邏輯,這種資料都歸Model

如果是在Controller Action講Model,通常是講Model Bindeing模型繫結,指的是這個Action要接受傳入的參數是什麼類別,asp.net會幫你指定的類別當作是一個模型,將前端或客戶端傳來的參數依名字符不符合、型態符不符合一個一個填入進去,最後拿到的那團資料統稱為Model。

如果是在View,@model後面接型別,是宣告這個頁面要用的資料的型別是什麼。宣告完後,再以大寫M的@Model作為變數名稱,用來取得傳進View裡面(@model事先宣告型別後)的資料。

如果宣告的資料型別,是只有View會用到,而MVC的M指的Model不會用到。變成這個資料類別只有View會用,那我們會把該資料類別名稱後方加上ViewModel。Action在接前端傳來的資料也可以使用我們定義的ViewModel類別作為骨架接受傳來的資料(做為模型繫結)。

大概是這樣~~~


上一篇
第22天:建立可重複使用的檢視-Partial View部分檢視
下一篇
第24天:實作檔案上傳功能(1)
系列文
後端或是ASP.NET Core的學習筆記30

尚未有邦友留言

立即登入留言