我是整个 MVC 3 风格编码的新手。我遇到了一个问题,但首先这是我的网站布局方式。
_Layout.cshtml 包含
@if (Request.IsAuthenticated)
{
<div class="span2">
@Html.Partial("_NavigationPartial")
</div>
<div class="span10">
@RenderBody()
</div>
}
else
{
@RenderBody()
}
@RenderBody
将显示我的 Profile.cshtml 文件,其中包含以下内容:
@{
ViewBag.Title = "My Profile";
}
<div class="row-fluid well">
<div class="page-header">
<h1>
Profile</h1>
</div>
@{
Html.RenderPartial("ChangePersonalInformationPartial");
Html.RenderPartial("ChangePasswordPartial");
}
</div>
如您所见,我有两个部分(一个用于更改个人信息,另一个用于更改密码)。
这些 Partials 中的每一个都使用它自己的 Model (ChangePersonalInformationModel
和ChangePasswordModel
)。
当我点击提交时,我的问题出现了ChangePasswordPartial
,它重新加载了 _Layout.cshtml 页面,但这次只加载了ChangePasswordPartial.cshtml
。我需要它来加载 Profile.cshtml。但是,如果我继续在我AccountController.cs
的return View();
to下进行更改,return View("Profile");
我会收到一条错误消息:
传入字典的模型项的类型为“PROJECT.Models.ChangePasswordModel”,但该字典需要“PROJECT.Models.ChangePersonalInformationModel”类型的模型项。
我该如何解决这个问题?
谢谢!