Реализация частичных представлений - PullRequest
0 голосов
/ 10 января 2012

У меня есть несколько предметов, принадлежащих группе.При просмотре элемента вы увидите некоторую информацию о группе, к которой он принадлежит, в компоненте верхнего окна на странице.У этих элементов есть несколько представлений (простые сведения, полные сведения и т. Д.), И этот верхний компонент будет отображаться при каждом просмотре.

Единственный способ, которым я могу реализовать это, заключается в следующем:

  1. Создание ItemViewModel с информацией об элементе
  2. Создание GroupViewModel, которая содержит информацию для заполнения верхнего компонента, а также список ItemViewModels.
  3. Создание частичного представлениядля верхнего компонента Group.
  4. Передайте GroupViewModel на каждую страницу представления элемента.

Мне не очень нравится этот подход, так как он делает GroupViewModel "uber"Msgstr "ViewModel, который передается всем представлениям Item.Я бы хотел, чтобы только ItemViewModels передавали представления Item, но каков чистый способ включения представлений Item в этот верхний компонент?

(Дополнительный вопрос: возможно ли настроить структуру URL как"/ Группа / 12 / пункт / 43" ??)

1 Ответ

2 голосов
/ 10 января 2012

Я думаю, что ваша ViewModel должна выглядеть примерно так:

public class SomeViewModel
{
    public Group Group { get; set; }
    public List<Item> Items { get; set; }
}

Когда ваш вид будет выглядеть так:

<!-- top section start -->
@Html.Partial("Details", Model.Group)
<!-- top section end -->

@foreach (Item item in Items)
{
    @Html.DisplayFor(item)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...