我有一個設置Client
s有User
s。MVC4 Model類綁定類屬性
簡單地說,Client
只是有一個
[Required]
public string Name { get; set; }
和User
有 - 其中包括它的屬性 - 一個
[Required]
public virtual Client Client { get; set; }
當談到創建User
秒,User
s的下創建(顯然)
因此:在我的User
創建頁面,我將Client
標識放入Viewbag中,以便我可以通過User
發送給我的創建控制器。
的第一個問題,我打的是Modelstate.IsValid
是false
- 這是因爲Client
的User
模型創建的要求不具有Name
。快速修復:也可以輸入名稱並返回。
這個通過驗證,我可以在代碼中正確地檢索Client
並將其分配給我的User
並保存新的User
內容十分重要...
我敢肯定,這也不是什麼奇怪,單關閉式樣設置。必須有一個「正確」的方式來做到這一點,而不是我目前正在做的事情。
1)如何'正確'提供/保留Client
我想將新的User
分配給? 2)如果以上是不可能的,那麼最好的辦法是什麼?我目前在User.Client.Id
字段中存儲了Client.Id
,並且使用了[Bind(Exclude="Client")]
,它完全從User
綁定中刪除了Client
,我不確定如何通過Client
數據並驗證它。
謝謝。
啊,我明白了。我曾預料過不同的功能風格,但我沒有意識到我需要一箇中間步驟。謝謝。 – Krenom 2013-02-20 09:24:12