2013-04-08 120 views
1

我相信ViewModels是一件好事。我剛剛嘗試將我的應用程序的一部分轉換爲使用它們。不過,我可能已經碰到了一個副作用,那就是他們的模型效果結合,尤其是默認的「檢查」的單選框助手的行爲:查看模型及其對ASP.NET MVC模型綁定的影響?

@Html.RadioButton("Value",Item.Value) 

上述工作,如果默認模式有一個「值」財產關閉它。但是,如果我使用一個ViewModel那麼值可以向下一個級別,即:

沒有VM

Model.Value 

隨着VM:

Model.Content.Value; 
MyContent = Model.Content.Value; 

此不再起作用:

@Html.RadioButton("Value",Item.Value) 

也許我需要調整RB助手?

謝謝。

回答

5

嘗試使用:

@Html.RadioButtonFor(m => m.Content.Value) 
+0

優秀的提示。太棒了:)顯然,這種方法直接填充模型。如果創建了一個局部變量,即「myContentValue」,會發生什麼情況。我想這是「按價值」,並需要被分配回模型對象。 -----或者這不是在視圖中做事情的方式....即,總是直接填充模型而不是通過變量? – SamJolly 2013-04-08 20:00:27

+1

是...總是直接填充模型/視圖模型。沒有必要使用單獨的變量。這就是在ASP.NET MVC中以'For'結尾的所有'@ Html'助手的目的。他們爲您完成艱苦的工作/數據模型綁定。 – 2013-04-08 21:30:44

+0

謝謝Leniel ....我的懷疑是正確的。真的很感謝幫助。 – SamJolly 2013-04-08 23:46:17