Элемент модели ASP.NET MVC, переданный в словарь, имеет тип - PullRequest
4 голосов
/ 12 декабря 2011

Я вижу эту неприятную ошибку на мой взгляд:

Элемент модели, передаваемый в словарь, имеет тип «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>
}

1 Ответ

10 голосов
/ 12 декабря 2011

Ошибка говорит о том, что вы должны передать правильную модель в частичное представление.
Поскольку вы ничего не пропустили, среда MVC использует модель по умолчанию, которая является представлением, которое вызывается к модели Partial.

Это решит проблемы:

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

Это не имеет ничего общего с RenderPartial VS Partial.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...