私はMVC 3スタイルのコーディング全体に不慣れです。問題が発生していますが、まず、Web サイトをどのようにレイアウトしたかを示します。
_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>
ご覧のとおり、2 つのパーシャルがあります (1 つは個人情報を変更するためのもので、もう 1 つはパスワードを変更するためのものです)。
これらの各パーシャルは、独自のモデル (ChangePersonalInformationModel
およびChangePasswordModel
) を使用します。
で送信をクリックすると問題が発生しChangePasswordPartial
、_Layout.cshtmlページがリロードされますが、今回はロードされるだけChangePasswordPartial.cshtml
です。Profile.cshtml を読み込むために必要です。しかし、先に進んでに変更するAccountController.cs
とreturn View();
、return View("Profile");
次のエラーが表示されます。
ディクショナリに渡されたモデル アイテムのタイプは「PROJECT.Models.ChangePasswordModel」ですが、このディクショナリにはタイプ「PROJECT.Models.ChangePersonalInformationModel」のモデル アイテムが必要です。
この問題を解決するにはどうすればよいですか?
ありがとう!