ASP.NET MVC Multiple ViewModel 的正確使用方式 | mvc model get set
ViewModel的使用在ASP.NETMVC中是一個很重要的觀念,但是初學者很容易遇到一個問題就是「一個頁面只有一個ViewModel怎麼夠用」,大多數的初學者可能就直接使用ViewData或ViewBag去傳遞第二個資料物件,如果你這樣傳最直接的問題就是喪失了「內建驗證」的方便性,那究竟應該怎麼正確的處理多個ViewModel的問題呢? 因為太多人問了,所以demo決定寫一個簡單的範例來有效解決初學者的多數ViewModel的問題。最終目的是完成一個頁面,同時支援「使用者註冊」與「使用者登入」的功能,現在就讓我們來一步一步的完成下去首先就從建立View...
ViewModel 的使用在 ASP.NET MVC 中是一個很重要的觀念,但是初學者很容易遇到一個問題就是「一個頁面只有一個 ViewModel 怎麼夠用」,大多數的初學者可能就直接使用 ViewData 或 ViewBag 去傳遞第二個資料物件,如果你這樣傳最直接的問題就是喪失了「內建驗證」的方便性,那究竟應該怎麼正確的處理多個 ViewModel 的問題呢? 因為太多人問了,所以 demo 決定寫一個簡單的範例來有效解決初學者的多數 ViewModel 的問題。
最終目的是完成一個頁面,同時支援「使用者註冊」與「使用者登入」的功能,現在就讓我們來一步一步的完成下去
首先就從建立 ViewModel 開始,請分別建立 LoginViewModels 與 RegisterViewModels 作為登入和註冊使用
LoginViewModels.cs
public class LoginViewModels { [EmailAddress] public string Email { get; set; } public string Password { get; set; } }RegisterViewModels.cs
public class RegisterViewModels { [EmailAddress] public string Email { get; set; } public string Password { get; set; } }你會發現這兩個 ViewModel 根本一模一樣,這是因為 demo 要避免讀者花太多時間在思考所以故意設計的,同時你也應該注意到 Email 欄位使用了內建驗證要求一定要是 Email 格式。
ViewModel 建立完畢後新增對應的 Controller HomeController.cs
public ActionRes...