2013-03-01 26 views
2

我在MVC剃刀視圖中使用@ Html.BeginForm將一個實體UserModel發佈到控制器。在@ html.form中將兩個模型從MVC剃刀視圖傳遞給控制器​​提交

所以,在控制我有:

public ActionResult SaveUser(UserModel user) 
{ 
} 

我要的是張貼其他相關實體即UserPrivacyModel到控制器,使得控制器我就能收到兩個對象

public ActionResult SaveUser(UserModel user, UserPrivacyModel userPrivacy) 
{ 
} 

可以實現嗎?如果是,如何?如果沒有,是否有任何替代方法任何人都可以提出

感謝

+1

yes和no。你真的不能發送2個模型,但你可以發送一個有兩個成員的超級名模。您想要將視圖綁定到存儲兩個視圖的模型。然後將輸入/助手/控件綁定到2個模型。 – 2013-03-01 17:42:41

+1

以上是正確的。然而,更簡單的解決方案是將'UserModel'和'UserPrivacyModel'粘貼到一個單獨的模型中,比如說:'RegistrationViewModel'並將該模型用於您的視圖。這樣你就可以在你的html輸入助手中使用表達式。 – Dmitry 2013-03-01 17:45:36

+0

謝謝你們。我得到了德米特里更簡單的解決方案。但我並不十分理解戴夫想要將你的視圖綁定到存儲這兩種視圖的模型上 – Marcus25 2013-03-01 18:40:29

回答

0

是的,這是可以做到:

​​
相關問題