我是一種小菜,所以請原諒我,如果這是一個愚蠢的問題。ASP.NET MVC - 獲取一個ViewModel,POST與另一個
我正在使用ASP.NET MVC 2中的模型綁定成功加載頁面。現在我想使用模型綁定來提交表單的結果,但我想使用與我加載的模型不同的模型。這可能嗎?或者我應該爲了兩個目的而使用相同的ViewModel?
我是一種小菜,所以請原諒我,如果這是一個愚蠢的問題。ASP.NET MVC - 獲取一個ViewModel,POST與另一個
我正在使用ASP.NET MVC 2中的模型綁定成功加載頁面。現在我想使用模型綁定來提交表單的結果,但我想使用與我加載的模型不同的模型。這可能嗎?或者我應該爲了兩個目的而使用相同的ViewModel?
是的,這絕對有可能。
唯一要記住的是,表單輸入上的name
屬性必須與viewmodel中的屬性相同。
目前我有一個手工製作的形式(沒有強類型的助手),一旦張貼綁定到視圖模型。
所以我不能使用強類型的輔助?對不起,我很困惑。 – 2010-06-21 03:51:49
只要您在兩個視圖模型中的屬性都命名相同,就可以。例如。 'viewModel1.DisplayName'&'viewModel2.DisplayName' – 2010-06-21 03:58:23
如果viewModel2是viewModel1的子對象(如'viewModel2.DisplayName ==> viewModel1.viewModel2.DisplayName')會怎麼樣? – fretje 2011-04-22 12:56:02
是的,那是可能的。你的細節控制器動作和創建控制器動作是不同的方法,所以你可以讓他們接受你想要的任何類型。
//
// 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");
}
我對View using Model Binding的示例更感興趣。你發佈的部分對我來說很有意義。 – 2010-06-21 04:02:20
對於MVC 3,後來,看到http://stackoverflow.com/q/15094054/11683 – GSerg 2014-02-28 18:26:08