2010-06-21 50 views
1

我是一種小菜,所以請原諒我,如果這是一個愚蠢的問題。ASP.NET MVC - 獲取一個ViewModel,POST與另一個

我正在使用ASP.NET MVC 2中的模型綁定成功加載頁面。現在我想使用模型綁定來提交表單的結果,但我想使用與我加載的模型不同的模型。這可能嗎?或者我應該爲了兩個目的而使用相同的ViewModel?

+0

對於MVC 3,後來,看到http://stackoverflow.com/q/15094054/11683 – GSerg 2014-02-28 18:26:08

回答

1

是的,這絕對有可能。

唯一要記住的是,表單輸入上的name屬性必須與viewmodel中的屬性相同。

目前我有一個手工製作的形式(沒有強類型的助手),一旦張貼綁定到視圖模型。

+0

所以我不能使用強類型的輔助?對不起,我很困惑。 – 2010-06-21 03:51:49

+0

只要您在兩個視圖模型中的屬性都命名相同,就可以。例如。 'viewModel1.DisplayName'&'viewModel2.DisplayName' – 2010-06-21 03:58:23

+0

如果viewModel2是viewModel1的子對象(如'viewModel2.DisplayName ==> viewModel1.viewModel2.DisplayName')會怎麼樣? – fretje 2011-04-22 12:56:02

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"); 
} 
+0

我對View using Model Binding的示例更感興趣。你發佈的部分對我來說很有意義。 – 2010-06-21 04:02:20

相關問題