在控制器操作中使用两个不同的模型进行POST和GET

时间:2011-03-21 01:14:27

标签: asp.net-mvc

我在MVC项目的一个控制器中有“添加”方法。在正常的“GET”上,我想返回类型为CaseEditModel的Strongly-Typed对象,并且在POST动词上我希望视图将类型为Case的对象返回给控制器。那可能吗?

2 个答案:

答案 0 :(得分:2)

是的,在获取Add动作时可以将CaseEditModel返回到视图,而在帖子上,Add动作的参数可以是Case类型。在帖子上,模型绑定器将尝试绑定到您为参数放入的任何内容。

[HttpGet]
public ActionResult Add()
{
    var caseEdit = new CaseEditModel();
    return View(caseEditModel);
}

[HttpPost]
public ActionResult Add(Case caseIn)
{

}

答案 1 :(得分:-2)

Request对象具有requesttype属性:

if (Request.RequestType == "GET")
{
     // do CaseEditModel here
}
else if (Request.RequestType == "POST")
{
     // do Case here
}