Передача правильной модели в частичный вид - PullRequest
1 голос
/ 13 декабря 2010

Я уже давно смотрю на эту ошибку и, похоже, не могу понять, что я мог сделать неправильно.

У меня есть частичное представление, которое добавляется так:

        <% Html.RenderPartial("~/Views/ForumPosts/ForumPostCreateForm.ascx", ViewData.Model); %>

И верхняя часть частичного вида выглядит так:

<%@ Control Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewUserControl<xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel>" %>

Я получаю следующую ошибку:

Элемент модели, передаваемый в словарь, имеет тип 'xxx.Core.ForumThread', но для этого словаря требуется элемент модели типа 'xxx.Web.Controllers.ForumThreadsController + ForumThreadFormViewModel'.

Если не ошибаюсь, оба берут модель под названием ForumThread, но, видимо, я что-то упустил.

Ответы [ 3 ]

4 голосов
/ 06 ноября 2012

Вам необходимо убедиться, что вы собираетесь передать модель в частичное представление, попытаться передать новый объект модели в частичное представление

3 голосов
/ 13 декабря 2010

Если не ошибаюсь, обе модели используют ForumThread ...

В соответствии с кодом, который вы разместили, частичное представление занимает xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel.Либо измените верхнюю часть вашего частичного представления, либо найдите способ передать ForumThreadFormViewModel объекту ForumThread.

Другим решением было бы использование RenderAction, чтобы разрешить действию генерировать ForumThreadFormViewModel хочешь.

1 голос
/ 13 декабря 2010

Пожалуйста, убедитесь, что ваша модель имеет тип xxxx.Web.Controllers.ForumThreadsController.ForumThreadFormViewModel

Чтобы проверить это, посмотрите на точку в вашем контроллере, где он возвращает представление. Объект, который вы помещаете в метод, должен иметь тип ForumThreadFormViewModel

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