Я новичок в MVC и только что натолкнулся на сценарий, с которым мне нужна помощь.
Я просто кратко опишу свой сценарий, как если бы это было приложение Web Forms, с которым я гораздо лучше знаком.
СЦЕНАРИЙ:
У меня есть домашняя страница, на которой перечислены последние 10 сообщений в блоге, а также «Дерево архивов» (перечисление лет / месяцев в хронологическом порядке со ссылками на каждую из записей блога, сделанных в эти годы / месяцы).
Я создаю это «дерево архивов» в качестве пользовательского элемента управления и выводю этот элемент управления на мою домашнюю страницу.
Я также вывожу этот пользовательский элемент управления Archive Tree вниз по стороне моей главной страницы блога - на странице блога отображаются подробности только для одного сообщения в блоге.
Я также хочу повторно использовать этот элемент управления Archive Tree на нескольких других страницах моего веб-приложения.
MVC:
У меня есть контроллер 'PhotoController', в котором есть метод ActionResult, отвечающий за получение сведений о выбранном сообщении в блоге (id).
Я хочу включить частичное представление (дерево архивов, которое будет отображать несколько записей) на странице моего фотоблога, которое будет циклически проходить по нескольким записям фотографий (List<Photo>
).
Я мог бы создать модель представления, состоящую из свойства 'Photo' (для отображения деталей записи отдельного фото-блога) и второго свойства, называемого PhotoArchive, которое представляет собой List<Photo>
.
Хотя я обеспокоен этим подходом, когда я перехожу к частичному представлению 'Archive Tree' в некоторых других разделах сайта, мне не обязательно проходить через ту же модель представления. (который содержит объекты «Photo» и «PhotoArchive») для родительского представления. Например, моей домашней странице не нужно будет проходить через объект «Фотография» к представлению, которое отображает домашнюю страницу, но я все еще хочу вывести мой частичный вид «Дерево архива» среди остальной части HTML на моей домашней странице.
Я ожидаю, что есть простое решение для этого, которое я просто не знаю в данный момент, будучи таким новым для MVC.