当使用 VS2013 并创建一个新的 Web 项目(MVC5 / .net 4.5 / EF6)时,默认项目模板带有一个标准的 AccountController,它实现了“管理”操作。据我所知,没有显式传递给管理视图的视图模型(实际上,视图本身没有强类型模型)。
事情是; 管理视图内部是以下行;
@Html.Partial("_ChangePasswordPartial")
在查看该特定视图时,它会显示一个强类型视图模型:
@model MyProject.Models.ManageUserViewModel
然而,在项目的任何地方,我都找不到这个视图模型被填充或发送到那个局部视图。有人能告诉我视图从哪里获取这个视图模型(以及视图模型是从哪里构造的)吗?
原因是; 我正在尝试修改“管理”视图以采用我自己的视图模型,然后想将该视图模型的属性传递给“_ChangePasswordPartial”,所以它看起来像这样:
public ActionResult Manage()
{
CustomViewModel viewModel = bLogic.CreateViewModel();
viewModel.ChangePasswordViewModel = bLogic.CreatePasswordViewModel();
return View(viewModel);
}
然后在我的“管理”视图中,有:
@Html.Partial("_ChangePasswordPartial", Model.ChangePasswordViewModel)