我有两个ViewModels
如何在动作中绑定viewmodel子类的值?
CreateEventViewModel
CreateAccountViewModel
CreateEventViewModel
看起来像这样
public class CreateEventViewModel
{
[Required]
[Display(Name = "Name")]
public string Name { get; set; }
public CreateAccountViewModel CreateAccountViewModel;
}
并在视图我可以使用
@Html.EditorFor(model => model.name)
@Html.EditorFor(model => model.CreateAccountViewModel.Email)
一切都是伟大的,到目前为止,但我怎么绑定值为CreateAccountViewModel.Email
?
的结合CreateEventViewModel.Name
与此设置
public ActionResult Create([Bind(Include = "Name")] CreateEventViewModel eventViewModel){
...
}
的伟大工程,但我怎么写来获得对CreateEventViewModel.CreateAccountViewModel.Email
的结合?
您需要删除'BindAttribute' - 其指定你只绑定了'Name'财产,并排除所有其他属性。而且,由于您使用视图模型,因此不应使用“BindAttribute” - 这是使用视图模型的好处之一。 –
还要注意,'CreateAccountViewModel'是你模型中的一个字段,而不是一个属性,所以它永远不会被正确绑定(添加'{get; set;}') –