2011-04-07 4 views
0

У меня есть вид MVC3, который заполняется с контроллера с использованием модели представления. Viewmodel инициализируется/заполняется с использованием метода заполнения в репозитории. Теперь я хочу создать частичные представления и хочу скрыть несколько разделов. Нужно ли мне создавать разные методы для заполнения модели представления, и мне нужно хорошо разбить viewmodela? Пожалуйста, предложитеЗаполняющие частичные виды

ответ

2

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

@if (Model.ShouldShowFooSection) 
{ 
    @Html.DisplayFor(x => x.Foo) 
} 

или:

@if (Model.ShouldShowFooSection) 
{ 
    @Html.Partial("_Foo", Model.Foo) 
} 
+0

Как насчет viewmodel. как разбить основную модель просмотра на части так, чтобы часть earch могла заполнить частичный вид – DotnetSparrow

+0

@DotnetSparrow, каждое свойство модели представления могло бы представлять другую модель представления, к которой будет строго введено соответствующее частичное представление. Эта модель суб-представления будет содержать все необходимые свойства, необходимые для этого частичного просмотра. –

1

Там нет ничего, что говорит, что вы есть определить новый ViewModel или метод хранилища для того, чтобы поддержать частичный вид. Вам придется решить, стоит ли это того или нет, основываясь на деталях вашего сценария.

Это может быть лучше для долгосрочного обслуживания, чтобы разбить вещи, но это просто выбор дизайна для вас.

В зависимости от того, как работает ваш репозиторий, может быть также улучшение производительности, если вам нужно только получить подмножество данных, но это может быть перевешено штрафом за выполнение нескольких вызовов репозитория для отображения одной страницы.

Смежные вопросы