Asp.net mvc ASP.NET MVC中的视图模型及其对模型绑定的影响?

Asp.net mvc ASP.NET MVC中的视图模型及其对模型绑定的影响?,asp.net-mvc,asp.net-mvc-3,viewmodel,model-binding,Asp.net Mvc,Asp.net Mvc 3,Viewmodel,Model Binding,我相信ViewModels是件好事。我一直在尝试将我的应用程序的一部分转换为使用它们。但是,我可能遇到了一个副作用,这就是它们对模型绑定的影响,特别是Radiobutton助手的默认“检查”行为: @Html.RadioButton("Value",Item.Value) 如果默认模型没有“值”属性,则上述方法有效。但是,如果使用ViewModel,则值可能会降低一级,即: 没有虚拟机 使用虚拟机: Model.Content.Value; MyContent = Model.Content.

我相信ViewModels是件好事。我一直在尝试将我的应用程序的一部分转换为使用它们。但是,我可能遇到了一个副作用,这就是它们对模型绑定的影响,特别是Radiobutton助手的默认“检查”行为:

@Html.RadioButton("Value",Item.Value)
如果默认模型没有“值”属性,则上述方法有效。但是,如果使用ViewModel,则值可能会降低一级,即:

没有虚拟机

使用虚拟机:

Model.Content.Value;
MyContent = Model.Content.Value;
这不再有效:

@Html.RadioButton("Value",Item.Value)
也许我需要调整RB助手

谢谢。

尝试使用:

@Html.RadioButtonFor(m => m.Content.Value)
尝试使用:

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

很好的提示。很明显,使用这种方法可以直接填充模型。如果在这个ie“myContentValue”上创建一个局部变量,会发生什么。我猜这是“按值”,需要重新分配给模型对象。---或者这不是在视图中做事情的方式。。。。ie总是直接填充模型,而不是通过变量填充?是的。。。始终直接填充模型/视图模型。没有必要使用单独的变量。这就是ASP.NET MVC中所有以
For
结尾的
@Html
帮助程序的目的。他们为您做了艰苦的工作/数据模型绑定。非常好的提示。很明显,使用这种方法可以直接填充模型。如果在这个ie“myContentValue”上创建一个局部变量,会发生什么。我猜这是“按值”,需要重新分配给模型对象。---或者这不是在视图中做事情的方式。。。。ie总是直接填充模型,而不是通过变量填充?是的。。。始终直接填充模型/视图模型。没有必要使用单独的变量。这就是ASP.NET MVC中所有以
For
结尾的
@Html
帮助程序的目的。他们为您完成了艰苦的工作/数据模型绑定。