Как я могу сделать частичное представление многократного использования в asp.net MVC 3 - PullRequest
2 голосов
/ 22 февраля 2012

Я хочу сделать частичное представление с 2 выпадающими списками.Данные DDL должны генерироваться из БД.Я новичок в MVC.Каким будет правильный способ сделать это Partialview?

Спасибо

Ответы [ 3 ]

4 голосов
/ 22 февраля 2012

(Предполагается, что вы используете Visual Studio)

В папке Views вашего проекта найдите папку с именем "Shared" (или создайте ее, если она не существует).Щелкните правой кнопкой мыши эту папку, выберите «Добавить-> Просмотреть».В диалоговом окне «Добавить вид» укажите название вида, тип модели (если хотите) и установите флажок «Создать как частичный вид».Тип модели, вероятно, должен быть новым классом модели с двумя List<string> элементами.

Везде, где вам нужно использовать это представление, включайте разметку

@Html.RenderPartial("YourPartialViewName", YourModel);

, где YourModel имеет тот же тип, что имодель указана в объявлении частичного представления.

2 голосов
/ 22 февраля 2012

Из моего опыта лучше создать действие и вызвать RenderAction(), передавая соответствующие параметры, чем использовать RenderPartial().Причина в том, что вам нужно передать полностью заполненную модель в RenderPartial, а это значит, что вы должны продублировать код для заполнения этой модели во всех контроллерах, которые используют это «частичное представление».

Я нашел этонамного чище создать отдельное действие, которое может получить ряд параметров (т. е. идентификатор объекта) и затем выполнить все необходимые шаги для заполнения модели (т. е. загрузить объект из базы данных).Это новое действие можно пометить атрибутом ChildActionOnly, чтобы его нельзя было вызвать напрямую.

1 голос
/ 22 февраля 2012

Еще одна вещь, которую стоит проверить imho, - это использование EditorTemplates .

Для хорошего сравнения Partials против EditorTemplates, когда использовать что и т.д., смотрите здесь .

...