MVC视图有两种不同的模型

时间:2013-12-12 20:17:06

标签: asp.net-mvc-4

我在此视图中有一个名为AccountManager的视图我有一个部分可以更新您的个人资料信息并更新您的密码。

两种功能都需要不同的型号。 ManageUserViewModelChangePasswordViewModel

AccountManager视图中,这两个部分都是通过@Html.Partial呈现的。

当我尝试显示页面时,收到以下错误:“传入字典的模型项的类型为'WebUI.Models.ManageUserViewModel',但此字典需要类型为'WebUI.Models'的模型项。 ChangePasswordViewModel”。“

如何在不收到此错误的情况下呈现两个视图?

1 个答案:

答案 0 :(得分:2)

<强>视图模型:

public class AccountManagerViewModel
{ 
    public ManageUserViewModel manageUserViewModel { get; set; }
    public ChangePasswordViewModel changePasswordViewModel { get; set; }
}

视图:

@model AccountManagerViewModel
/*HTML CODE*/
@Html.RenderPartial("_PartialChangePassword", Model.changePasswordViewModel)
@Html.RenderPartial("_PartialManageUser", Model.manageUserViewModel)

所以你只需要使用viewModels。请记住,他们可以在视图中包含您需要的任何内容。让我知道。