Материалы можно скачать здесь. Там есть и слайды и исходники демо-примеров.

Что показано в примерах:
1. Использование Shared Views для генерации типовых интерфейсов на основе метаданных моделей
2. ControllerFactory, который умеет запускать generic-контроллеры
3. Расширение ViewEngine, которое позволяет создавать и переопределять виртуальные View-parts


Список интересных мест в исходниках, с которых стоит начать их изучение:

SharedViews-and-TemplateHelpers

Контроллеры:
\Controllers\DictionaryColorsController.cs, DictionaryDepartmentsController.cs

Сами shared views:
\Views\Shared\ListSelect.cshtml, Update.cshtml

Template Helper для таблиц:
\Views\Shared\DisplayTemplates\Table.cshtml

Метаданные для объектов:
\Models\Color.cs, Department.cs



GenericControllers

Сам generic-контроллер:
\Controllers\DictionaryController.cs

Регистрация generic-контроллера и маппинг моделей:
\Global.asax.cs, строки 28-30

Фабрика generic-контроллеров:
\GenericControllerUtil\GenericControllerFactory.cs

Регистрация фабрики для поддержки generic-контроллеров:
\Global.asax.cs, строка 39

Расширение ViewEngine для работы виртуальных View:
\GenericControllerUtil\CustomViewLocationsViewEngine.cs

Сами виртуальные View:
\Views\DictionaryController`1\Color\Footer.cshtml

Регистрация расширения ViewEngine для поддержки виртуальных функций:
\Global.asax.cs, строка 41

blog comments powered by Disqus
Noncommercial Attribution license