У меня возникли проблемы с просмотром частичных представлений в MVC4. В настоящее время у меня есть страница профиля пользователя, и я хочу иметь частичное представление, отображающее каждую запись из другой таблицы, содержащей их UserID.MVC 4 Передача данных в частичный вид - Формат
Это HTML-помощник, который я использую для вызова моей функции в контроллере.
@Html.Action("DisplayArticles", "Articles")
Это метод, который я вызываю в контроллере своей статьи для отображения пользовательских статей.
[HttpGet]
[ChildActionOnly]
public ActionResult DisplayArticles()
{
int id = WebSecurity.CurrentUserId;
var articleList = new List<Article>();
//Article articles = (from j in db.Article
// where j.UserID == id
// select j).ToList();
//articleList.AddRange(articles);
foreach (Article i in db.Article)
{
if (i.UserID == id)
{
articleList.Add(i);
}
}
return PartialView("_DisplayWritersArticle", articleList);
}
Мой частичный вид _DisplayWriterArticle просто использует HTML-помощники для отображения данных.
@model Writegeist.Models.Article
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.UserID)
</th>
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Type)
</th>
<th>
@Html.DisplayNameFor(model => model.Content)
</th>
</tr>
<tr>
<th>
@Html.DisplayFor(model => model.UserID)
</th>
<td>
@Html.DisplayFor(model => model.Title)
</td>
<td>
@Html.DisplayFor(model => model.Type)
</td>
<td>
@Html.DisplayFor(model => model.Content)
</td>
</tr>
</table>
Моя проблема заключается в том, что путь я передаю мой список в поле зрения, он не получает признания, и я получаю ошибку
> The model item passed into the dictionary is of type
> 'System.Collections.Generic.List`1[Writegeist.Models.Article]', but
> this dictionary requires a model item of type
> 'Writegeist.Models.Article'.
Если изменить
return PartialView("_DisplayWritersArticle", articleList);
в
return PartialView("_DisplayWritersArticle", new Writegeist.Models.Article());
Я полагаю, статьяList не в правильном формате. Может кто-то указать мне верное направление? Спасибо
У вас нет кода для частичного _DisplayWritersArticle, но похоже, что он имеет модель, установленную как единый Writegeist.Models.Article. Вы отправляете ему список статей, который он не знает, как с этим бороться. Отправьте свой код частичного просмотра. – jmoerdyk
Я думал, что мне это не нужно, потому что это было так просто. Я включил его сейчас. – lagref