2011-11-22 88 views
1

我有一個非常標準的場景,我有一個在這種情況下是產品的模型。我需要模型還是視圖模型? MVC 3

該產品模型有一個屬性負載,如價格,desc等,我想顯示在視圖上。

我有這個工作正常。

該產品具有附件對象的列表,該附件對象在視圖上顯示並且使用戶能夠輸入該附件的數量。

當用戶點擊添加到購物籃時,我實際上只需要配件列表和父級產品的ID。

我應該創建一個視圖模型,其中包含我需要或做的所有產品信息我只是通過我的視圖產品,然後提交視圖模型,只需要在函數簽名中需要的幾個字段?

我是新來的mvc,如果你沒有猜到!我正在使用MVC 3.

回答

1

使用單獨的視圖模型是更好的做法,因爲這意味着您可以在產品之外添加可能相關的額外信息,例如購物籃和用戶信息。如果產品上有許多字段,則可以使用Automapper採取相關字段並將其映射到視圖模型。你也可以變平,如果必要的模型並進行服務器端的查詢其fecth模型的所有相關項目的分類信息等

例如在Automapper到這裏看看:

http://lostechies.com/jimmybogard/2009/01/23/automapper-the-object-object-mapper/

一旦你開始使用它不會回頭。

1

學術方式是在視圖中僅用您需要的數據來創建單獨的ViewModel類。

但是,如果您對忽略班級中的額外字段感到滿意,我認爲在視圖中使用您的Product model類完全可以。