亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET MVC模型與ViewModel

ASP.NET MVC模型與ViewModel

慕萊塢森 2019-12-16 11:06:13
好的,我一直在聽有關MS的ASP.NET MVC的“ ViewModels”討論。現在,這打算成為一種特定的模型,對嗎?不是一種特定的視圖。據我了解,這是一種模型,其特定目的是與View進行交互?或類似的東西?一些澄清將不勝感激。
查看完整描述

4 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

本質上,Model和View Model都是具有屬性的簡單類。


這些類的主要目的是為各自的觀眾(分別是控制器和視圖)描述一個對象(“模型”)。


所以當你說你是完全正確的


據我了解,這是一種模型,其特定目的是與View進行交互


因此,雖然模型類實際上是與您的應用程序交互的域實體,但是視圖模型是與視圖交互的簡單類。


希望能幫助到你 :)


更新:


微軟已經在很大程度上基于Model-View-Controller開發了Martin fowler的專用版本的Presentation Pattern,并將其稱為PF應用程序的Model-View-ViewModel(MVVM)。此模式針對的是現代UI開發平臺,在該平臺上,UI開發人員比傳統開發人員更多地基于業務邏輯來滿足不同的需求。在這里看看一些理論


查看完整回答
反對 回復 2019-12-16
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

用最簡單的術語來說,我想以下幾點:


模型:嚴格看起來和感覺像您的數據模型。出于所有目的和目的,它僅是數據模型的類表示。它不了解您的視圖或視圖中的任何元素。也就是說,它不應包含將用于視圖的任何屬性裝飾器(即,Required,Length等)。


視圖模型:作為視圖和模型之間的數據綁定器,在許多情況下,它也是模型的包裝。如果沒有View,它將變得無用,因此通常無法像標準Model一樣在多個View和Controller之間重用。


例如,您的模型可能具有以下屬性,它們是數據源的直接表示:


    public string FirstName { get; set; }

    public string LastName { get; set; }

現在,由于您的視圖模型已綁定到視圖,因此它可能具有以下屬性-將模型的名字字段和姓氏字段作為一個字符串連接在一起:


    [Display(Name = "Customer Name")]                

    public string CustomerFullName { get { return String.Format("{0} {1}", myModel.FirstName, myModel.LastName) }}


查看完整回答
反對 回復 2019-12-16
  • 4 回答
  • 0 關注
  • 673 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號