我正在使用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