2011-12-12 95 views
4

我得到在我看来,这个麻烦的错误:传递到字典ASP.NET MVC模型产品类型

传递到字典的模型项的类型为“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> 
} 
+0

显示您的视图代码,包括产生错误的行。 –

+0

有问题的行是@ Html.RenderPartial – multiv123

+0

你还有困难吗? – gdoron

回答

10

的这个错误告诉你有正确的模型传递到局部视图。
因为您没有传递任何东西,所以MVC框架使用默认模型,这是调用到部分模型的视图。

这将解决的事情了:

@{Html.RenderPartial("Form", new ContactWebLibrary.Contact());} 

它无关RenderPartial VS Partial

+0

谢谢!这解决了这个问题。 – multiv123

+0

当传递给视图时会发生什么很好的解释。我收到奇怪的消息,说我传递了错误的模型。 – JasonCoder

相关问题