我正在使用ASP.NET MVC。我的要求是通過像嚮導一樣的分步過程構建一個複雜的對象(由其他對象構成的對象)。逐步構建複雜的對象。在哪裏保存?
每個依賴對象都應該建立在它的步驟上並且應該在其步驟中進行驗證。例如
public class ComplexObjectModel {
public Object1 MyObject1 { get; set; }
public Object2 MyObject1 { get; set; }
public Object3 MyObject1 { get; set; }
}
至於有一個嚮導我決定創建綁定到這些模型3模型類和3個強類型的局部視圖沒有內置設備。
在僞嚮導的每一步,我都會驗證依賴模型對象,並將複雜對象的屬性設置爲其引用。
我想保存的ViewData/TempData的內部複雜的對象以下列方式
在控制器動作
[HttpPost]
public ActionResult MyAction1() {
ComplexObjectModel com = (ComplexObjectModel)ViewData["ComplexObjectModel"];
com.MyObject1 = new Object1();
ViewData["ComplexObjectModel"] = com;
return PartialView("MyAction2", com.Object1);
}
,並在視圖
<% using (Html.BeginForm()) { %>
<%= Html.Hidden("ComplexObjectModel", ViewData["ComplexObjectModel"]) %>
... view fields for Object1, Object n ....
<% } %>
但這樣做對象不會在視圖和控制器之間來回傳遞,並且從視圖返回到下一個動作時遇到過這種情況。
有沒有辦法支持這個要求?
感謝您的幫助
這是不是強制要去查看的方式...我去參加會議;) – Lorenzo 2010-09-27 15:42:40