ASP.NET MVC - 使用一个ViewModel进行GET,使用另一个进行POST

时间:2010-06-21 03:29:38

标签: asp.net-mvc

我有点像菜鸟,如果这是一个愚蠢的问题,请原谅我。

我正在使用ASP.NET MVC 2中的模型绑定成功加载页面。现在我想使用模型绑定来提交表单的结果,但我想使用与我加载的模型不同的模型。这可能吗?或者我应该只为相同的目的使用相同的ViewModel?

2 个答案:

答案 0 :(得分:1)

是的,这绝对是可能的。

唯一要记住的是表单输入上的name属性必须与viewmodel中的属性相同。

目前我有一个手工制作的表格(没有强类型的助手),一旦发布绑定到视图模型。

答案 1 :(得分:1)

是的,这是可能的。您的详细信息控制器操作和创建控制器操作是不同的方法,因此您可以使它们接受您想要的任何类型。

//
// GET /Test/12
public ActionResult Details(int id)
{
    return View(new ViewModel{/*properties init*/});
}

//
// POST: /Test/Update
[HttpPost]
public ActionResult Update(UpdateModel model)
{
    //Do something with the model
    return RedirectToAction("Index");
}