我有一個嚮導,其中包含5個步驟,每個步驟中我都會從用戶那裏獲取有關他的汽車銷售的信息。首先是操作類型(Sale,Rent),其次是類別(Car,Truck,Boat),第三是項目細節(Make,Model,Version),四是額外參數,五是會員地址。CreateCar嚮導上的一個ViewModel的多個視圖
的選項每一步名單是建立使用@ Ajax.ActionLink並將結果發送給特定的DIV在下面的母版頁(操作 - >目錄 - >廣告 - >附加功能 - >會員 - >創建):
@model Heelp.ViewModels.CreateAdViewModel
@using (Html.BeginForm(MVC.Ad.Create(), FormMethod.Post, new { id = "createAdForm" }))
{
@Html.AntiForgeryToken()
<div id="operation">
@{ Html.RenderAction(MVC.Ad.CreateAdOperation()); }
</div>
<div id="category"></div>
<div id="ad"></div>
<div id="extras"></div>
<div id="member"></div>
<input type="submit" value="Create" />
}
此主頁面具有「主」ViewModel「CreateAdViewModel」,它將接收來自所有步驟的所有信息,創建要發送到CreateAd Action的所有「輸入」。
什麼我現在已經是每一個步驟一個ViewModel:
public class CreateAdOperationViewModel
{
// Operation Fields
}
public class CreateAdCategoryViewModel
{
// Category Fields
}
public class CreateAdViewModel
{
// Common Ad Fields
}
public class CreateAdCarViewModel : CreateAdViewModel
{
// Car View Model Fields
}
的主要問題是要知道,如果這個解決方案是有道理的,因爲一直至今我知道,每個View應該有他自己的視圖模型,但我需要根據不同的視圖提交一個主ViewModel,每個ViewModel都有自己的ViewModel。
謝謝你的時間。
謝謝,但我有一些貧困映射文章與我的問題:( – Patrick