我正在为我的网站使用ASP.NET MVC 3。调用另一个控制器发布方法
我创建了一个具有“Previous,Next和Save”按钮的分部视图。我在我的母版页上调用这个部分视图。
我的要求是,在我所有的View
我必须能够通过将各自的Model
数据传递给控制器动作,在不同的控制器中调用不同的Save
方法。
例
- 我有4个步骤输入的数据,我必须在每个步骤中不同的控制器。
- 如果我在第1步和我点击保存表单值应该去
Step1Controller
的操作方法, - 如果我在第2步,然后后应该调用
Step2Controller
事情是这样的:
public ActionResult Save(GenericModel model)
{
//use reflection to find out model type
//call appropriate controller action with model
return RedirectToAction("Create", new { Controller = "Conference", Action = "Create" });
}
这种保存方法将被要求对Master page
Save
按钮。我怎样才能做到这一点?
这听起来像是一个潜在的控制器和模型的概念误用。为什么单个视图访问多个控制器以获取具有相同模型的表单帖子的结果?如果你只需要调用其他函数,就可以在同一个控制器中创建一个函数,但是你需要重新评估你在这里要做的事情。每个视图(或部分视图)应该包装自己的形式,并在提交时调用其自己的控制器动作。 – dodexahedron 2012-08-18 02:21:31