为嵌套的视图模型赋值

Assign value to nested viewmodel

我对 MVC 有点陌生,在将 value/data 分配给嵌套视图模型时遇到一些困难。当我 运行 应用程序时,嵌套视图不显示任何内容,但是当我调试控制器时,设置了值。 嵌套视图模型是否必须在主视图模型的构造函数中实例化?如何?

我确实让它可以使用模型而不是 og viewmodels,但我需要添加一些验证。

示例:

public class MainViewModel
{ 
public NestedViewModel NestedViewModel { get; set; }
} 
public class NestedViewModel
{
public string Name {get; set;}
}

在控制器中:

public ActionResult Main()
{
var mvm = new MainViewModel();
mvm.NestedViewModel = new NestedViewModel();
mvm.NestedViewModel.Name = data.Name.ToString();
return View(mvm);
}

并且在视图中:

@model WEB.Models.MainViewModel
@{Html.RenderPartial("_NestedView", Model.NestedViewModel);}

和嵌套视图:

@model WEB.Models.MainViewModel
@Html.TextBoxFor(model => model.NestedViewModel.Name)

文本框没有任何内容,而控制器有。

@model WEB.Models.MainViewModel
@Html.TextBoxFor(model => model.NestedViewModel.Name)

//should be

@model WEB.Models.NestedViewModel
@Html.TextBoxFor(model => model.Name)