Asp.net-Mvc

MVVM 在 ASP.NET MVC 4 Web 應用程序中扮演什麼角色?

  • January 7, 2019

當我閱讀“ASP.NET MVC 4”一書時,我想知道 MVVM。我開始在Google上搜尋,找不到任何關於使用 MVVM 開發 Web 應用程序的書籍,所以我一定在這裡遺漏了一些資訊。

據我了解,MVVM 通過 knockout.js 和其他框架在客戶端的 Web 應用程序中使用。然而,如果我要開發一個 Windows Phone 應用程序,我可以直接使用 MVVM,而無需使用 MVC。這是否意味著 MVVM / 數據綁定的概念不適用於客戶端-伺服器 Web 應用程序?

MVVM 確實是一種子模式。那裡沒有真正的“MVVM”網路應用程序框架。它們都是 MVC,如果需要,您幾乎只需合併一個視圖模型。

特別是使用 ASP.NET MVC,您只需創建一個類,其名稱通常為 [Model Name]ViewModel或形式[Model Name]VM。該類將僅具有您的模型中您需要使用的屬性以及任何其他對您的實際數據庫支持的模型沒有意義的東西,例如SelectLists 等。

在您的操作中,您只需將此視圖模型的一個實例傳遞給您的視圖,而不是您的模型:

return View(viewModelInstance);

當然,請確保您的觀點接受:

@model Namespace.To.MyViewModel

唯一稍微複雜的部分是將視圖模型連接到模型(即,從視圖模型/模型獲取數據/從視圖模型/模型獲取數據。您可以通過顯式映射屬性手動執行此操作,也可以使用類似AutoMapper的東西。

引用自:https://stackoverflow.com/questions/16814566