2013-04-08 118 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