【发布时间】:2012-04-18 13:31:53
【问题描述】:
我有两个视图:第一个有一个表单,当它提交时,它会填写一个模型视图 (QuizzModelView)。
现在提交后,我被重定向到另一个视图,该视图也有一个我要提交的表单。问题是我想对两个视图使用相同的 QuizzModelView。这意味着,在提交第二个表单时,我还想提交前一个表单的值。我可以通过创建隐藏输入来做到这一点,这些输入采用来自第一个视图的值。
有没有办法在没有隐藏输入的情况下做到这一点。
谢谢
编辑: 解释更多:
我的模型视图包含:QuizzModelView.field1、QuizzModelView、.field2
第一步:View1将填写QuizzModelView.field1
第二步:我被重定向到 view2
第三步:View2将填写QuizzModelView.field2
现在我希望能够获取 QuizzModelView.field1 和 QuizzModelView.field2。但我只得到 QuizzModelView.field2 因为提交 View2 时 QuizzModelView.field1 丢失了
这是我的行动:
[HttpPost]
public ActionResult TAFPart2PopupEvents(QuizzModelView model)
{
return PartialView("PartialViews/_TAFPart2PopupEvents", model);
}
[HttpPost]
public ActionResult TAFPart3PopupEvents(QuizzModelView model)
{
// here I want to use
// model.field1 and model.field2
}
【问题讨论】:
-
创建一个视图,将您的
QuizzModelView和其他成员包含在一个对象中。显示该对象,然后提交并接受该视图模型? (虽然你描述的方式有点模棱两可,更详细的会很好)。 -
两个视图是否都将
QuizzModelView定义为模型?例如@model QuizzModelView并通过 (View(model: Quizz))? -
是的,他们有。问题是在第二个视图中提交表单时,会创建另一个 QuizzModelView 实例,因此之前的值会丢失。
-
那么你也可以发布操作吗?