如何在MVC中设置复杂的模型对象

时间:2014-01-31 07:31:27

标签: asp.net-mvc view asp.net-mvc-5

以下是用例。

2个模型类:

public Class ModelA {
   public long SomeLong {get; set; }
}

public Class ModelB {
   public string SomeString {get;set; }
   public ModelA modelA {get; set; }
}

现在 - 我有两个网页(.cshtml) - View1&视图2。

第一页 - View1中,用户填写表单,在帖子中服务器获取用户的ModelA实例

在第二页--View2中,用户填写另一个表单,在帖子中服务器获取用户的ModelA实例,但这次我想从第一页注入ModelA实例发送到服务器的ModelB - 持久化ModelA对象并将其推送到另一个对象。

由于每个视图只有一个模型,我尝试使用viewbag将ModelA注入View2,但我不知道如何实际设置它的ModelB属性...尝试了HiddenFor,尝试了其他的东西。

想法?

1 个答案:

答案 0 :(得分:0)

如果要在第二页中显示第一个模型的值,只需使用HTML displayfor等...而HTML.Hidden表示不显示的值。这些将使他们保持在模型中。

否则,您应该尝试将模型存储在tempData [“modelA”] = ModelA中。并使用ModelA = tempData [“modelA”]的post方法将其恢复。