传入字典的ASP.NET MVC模型项是类型的

mul*_*123 4 asp.net-mvc razor asp.net-mvc-3

在我看来,我遇到了这个麻烦的错误:

传递到字典中的模型项的类型为"ContactWeb.Models.ContactListViewModel",但此字典需要"ContactWebLibrary.Contact"类型的模型项.

在这行代码上: @{Html.RenderPartial("Form");}

我在@model ContactWeb.Models.ContactListViewModel这个文件的顶部使用.

这是我的观点:

 @model ContactWeb.Models.ContactListViewModel

 <h2>Edit</h2>

 @{Html.RenderPartial("Form");}

 @using (Html.BeginForm())
 {
    <fieldset>
    <legend>Select roles for this user:</legend>
    <ul>
    @foreach(var role in Model.AllRoles)
    {
        <li><input name="Roles" type="checkbox" value="@role" />@role</li>
    }
    </ul>
    <input type="submit" />
    </fieldset>
}
Run Code Online (Sandbox Code Playgroud)

gdo*_*ica 10

该错误告诉您必须将正确的模型传递给部分视图.
因为您没有传递任何内容,所以MVC框架使用默认模型,该模型是调用Partial模型的视图.

这将解决问题:

@{Html.RenderPartial("Form", new ContactWebLibrary.Contact());}
Run Code Online (Sandbox Code Playgroud)

它与RenderPartialVS 无关Partial.