В настоящее время я использую модель представления для отображения списка родителей (исполнителей) в представлении индекса, которое включает в себя ActionLink, который перенаправляет на Index / 5 для отображения списка детей (альбомов), в то же время показывая полный списокиз родителей.
Я сейчас пытаюсь обновить это, чтобы при маршрутизации в Index все дочерние элементы были загружены для каждого родителя, что, я думаю, включает в себя использование вложенного @ foreach.
Кажется, что это должно быть просто, и я стараюсь сделать этот пример максимально простым (избегая частичных представлений и т. Д.), Но я нигде не смог найти сравнительный учебник или ответил на вопрос - (вполне может быть, чтоЯ ищу неправильные термины!).
Любая помощь в том, правильно ли я поступаю, будет принята с благодарностью.
Контроллер
// GET: /ArtistsTest/
public ActionResult Index(Int32? id)
{
var viewModel = new TestViewModel();
viewModel.Artists = db.Artists
.Include(a => a.Albums);
if (id != null)
{
ViewBag.ArtistID = id.Value;
viewModel.Albums = viewModel.Artists.Where(a => a.ArtistID == id.Value).Single().Albums;
}
return View(viewModel);
}
Вид:
@foreach (var artist in Model.Artists)
{
<p>
@Html.DisplayFor(modelItem => artist.ArtistID)
@Html.DisplayFor(modelItem => artist.ArtistName)
@Html.ActionLink("Select", "Index", new { id = artist.ArtistID })
</p>
}
<br />
@if (Model.Albums != null)
{
<p>
Albums:
@foreach (var album in Model.Albums)
{
<p>
@Html.DisplayFor(albumItem => album.AlbumName)
</p>
}
</p>
}