我在我的网站上使用ASP.NET MVC 3。
我创建了一个具有“上一个,下一个和保存”按钮的局部视图。我在我的母版页上调用了这个局部视图。
我的要求是,无论我是什么View
,我必须能够通过将相应的Save
数据传递给控制器动作,在不同的控制器中调用不同的Model
方法。
例
Step1Controller
的动作方法,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" });
}
这个保存方法将在Save
上为Master page
按钮调用。我怎样才能做到这一点?
表单是否在控制器上的单独操作上?
如果是这样,只需在每个页面上设置表单操作以指向相关的控制器。形式1是
<form method="post" action="/step1controller/action">
表格2是:
<form method="post" action="/step2controller/action">
这会解决你的问题吗?
我会在控制器中创建一个私有方法,并调用第一步的每个部分。
private bool Save(GenericModel model)
{
......
}
[HttpPost]
public bool SaveStep1(GenericModel model)
{
this.Save(model);
}
[HttpPost]
public bool SaveStep2(GenericModel model)
{
this.Save(model);
}