Шрифт:
Annotation
Рассмотрены основные принципы и возможности технологии ASP.NET MVC Framework и показаны способы ее практического использования при разработке веб-приложений. Описаны преимущества подхода разработки MVC и рассмотрена структура MVC-приложения. Приведено сравнение технологии WebForms и MVC Framework и рассмотрены вопросы их совмещения. Описаны модель и доступ к данным (технологии LINQ, Entity Framework и др.), контроллеры, представление и интерфейс приложения, механизмы маршрутизации и Ajax-функциональность. Уделено внимание вопросам тестирования веб-приложений. Рассмотрены особенности применения ASP.NET MVC 2 в Visual Studio 2010. Для программистов
Гайдар Магдануров Владимир Юнев
ГЛАВА 1
Паттерн проектирования MVC
История паттерна проектирования MVC
Преимущества подхода разработки MVC
1. Полный контроль над кодом разметки
2. Расширяемость
3. Простота автоматического тестирования
Установка MVC Framework
Первое приложение на MVC Framework
Структура MVC-приложения
Папка Content
Папка Controllers
Папка Models
Папка Scripts
Папка Views
Файл Default.aspx
Файл Global.asax
Файл Web.config
Обработка запросов MVC-приложением
Компоненты MVC-приложения
Таблица маршрутизации
Контроллер
Представление
Подход к разработке MVC-приложений
Заключение
ГЛАВА 2
Сравнение WebForms и MVC Framework
Технология WebForms
Преимущества WebForms
Недостатки WebForms
Технология MVC Framework
Преимущества MVC Framework
Недостатки MVC Framework
Выбор подхода к разработке веб-приложения
Реализация подхода MVC в WebForms
Совмещение WebForms и MVC Framework в рамках одного веб-приложения
Использование элементов управления WebForms в MVC-приложениях
Внедрение страниц WebForms в MVC-приложения
Использование MVC Framework в существующих решениях WebForms
Заключение
ГЛАВА 3
Технология LINQ
LINQ для SQL
Entity Framework
Принципы построения слоя доступа к данным
Возможность замены источника данных
Реализация слоя данных
Пример использования слоя данных
Механизмы для работы с данными
XML-данные
Работа с данными через ADO.NET
LINQ для SQL
Entity Framework
NHibernate
Сравнение механизмов доступа к данным
Рекомендации по выбору механизма доступа к данным
ГЛАВА 4
Назначение контроллеров
Простой пример реализации контроллера
Архитектура контроллеров
Порядок вызова архитектурных механизмов
Фабрика контроллеров
Действия, фильтры и атрибуты
Переопределение свойства Actionlnvoker
Атрибуты ActionMethodSelectorAttribute
Атрибуты, производные от FilterAttribute
AuthorizeAttribute
HandleErrorAttibute
ValidateAntiForgeryTokenAttribute
ValidateInputAttribute
Атрибуты ActionFilterAttribute и OutputCacheAttribute
Стандартные реализации класса ActionResult
ViewResult
JsonResult
FileResult
RedirectResult и RedirectToRouteResult
ContentResult
EmptyResult
Создание своей реализации ActionResult
Model Binding
Советы по использованию контроллеров
Атрибуты ActionNameSelectorAttribute и ActionNameAttribute
Наследование контроллеров
Асинхронное выполнение при работе с контроллерами
Паттерн IAsyncResult
Паттерн Event
Паттерн Delegate
Дополнительные сведения об асинхронных контроллерах
Неизвестные действия и метод HandleUnknownAction
ГЛАВА 5
Стандартный механизм представлений на базе WebForms
Code-behind-файлы
Мастерские страницы и элементы управления
Файлы представлений в структуре проекта
Данные для отображения и ViewData
Строгая типизация данных представления
Поиск элементов в коллекции ViewData
Генерация разметки представлением
Вложенный управляющий код
<%= значение %>
<% управляющая конструкция %>
Вспомогательные методы
Кодирование текста и атрибутов