
Книга посвящена фреймворку ASP.NET Core MVC. Представлены особенности MVC-архитектуры (Model-View-Controller), основные принципы проектирования веб-приложений и организации корректной работы с различными типами веб-запросов. Показано, как взаимодействовать с базами данных посредством популярных ORM (объектно-реляционное отображение). В книге рассматриваются методы определения пользовательского интерфейса с помощью среды Razor и открытых клиентских библиотек, описаны способы построения Web API и использование его в клиентских приложениях. Подробно описаны различные варианты публикации приложений. Электронный архив на сайте издательства содержит результаты выполнения всех рассмотренных в книге проектов.
ASP.NET Core MVC для современных веб-разработчиков
- ASP.NET Core MVC
- Контроллеры MVC
- Razor
- Entity Framework Core
- Web API
- Фронтенд-фреймворки AJAX

Умрихин Евгений Дмитриевич, кандидат технических наук, инженер-программист в крупной региональной страховой компании. Имеет многолетний опыт разработки и внедрения распределенных IT-решений с использованием веб-сервисов ASP.NET и мобильных платформ Android и iOS. Обладатель ряда авторских свидетельств об официальной регистрации программ для ЭВМ.
Книгу “Разработка веб-приложений с помощью ASP.Net Core MVC” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Введение………………………………………………………………………………………………….. 7
Что вы узнаете из этой книги………………………………………………………………………………………………………. 9
Что нужно знать…………………………………………………………………………………………………………………………. 11
Основные термины и понятия…………………………………………………………………………………………………… 11
Об авторе……………………………………………………………………………………………………………………………………. 12
Благодарности…………………………………………………………………………………………………………………………… 12
Глава 1. Основные сведения………………………………………………………………….. 13
Создание первого приложения…………………………………………………………………………………………………. 15
Структура проекта и файловая система………………………………………………………………………………….. 18
Точка входа в приложение……………………………………………………………………………………………………….. 20
Конфигурация приложения………………………………………………………………………………………………………. 23
Создание сервисов и внедрение зависимостей……………………………………………………………………….. 27
Компоненты Middleware……………………………………………………………………………………………………………. 35
Использование статического контента……………………………………………………………………………………. 42
Добавление инфраструктуры MVC…………………………………………………………………………………………. 43
Глава 2. Контроллеры MVC…………………………………………………………………… 46
Маршрутизация…………………………………………………………………………………………………………………………. 47
Понятие контроллера………………………………………………………………………………………………………………… 53
Результаты действий контроллера…………………………………………………………………………………………… 54
Общие сведения о представлениях…………………………………………………………………………………………… 57
Представление списков данных……………………………………………………………………………………………….. 59
Создание службы данных…………………………………………………………………………………………………………. 61
Атрибуты контроллера……………………………………………………………………………………………………………… 64
Ограничение типов запросов……………………………………………………………………………………………………. 65
Контекст контроллера………………………………………………………………………………………………………………. 65
Отправка файлов с сервера………………………………………………………………………………………………………. 68
Глава 3. Модели…………………………………………………………………………………….. 72
Понятие модели………………………………………………………………………………………………………………………….. 72
Передача моделей в представление…………………………………………………………………………………………. 75
Использование ViewModel………………………………………………………………………………………………………… 83
Передача моделей в контроллеры……………………………………………………………………………………………. 91
Создание элементов коллекции данных………………………………………………………………………………….. 97
Аннотации………………………………………………………………………………………………………………………………… 101
Проверка модели на сервере…………………………………………………………………………………………………… 103
Глава 4. Представления Razor……………………………………………………………… 108
Синтаксис Razor………………………………………………………………………………………………………………………. 108
Внедрение зависимостей в представление……………………………………………………………………………. 115
Компиляция среды выполнения Razor…………………………………………………………………………………… 117
Передача данных в представление………………………………………………………………………………………… 120
Компоновки………………………………………………………………………………………………………………………………. 122
Файл _ViewStart……………………………………………………………………………………………………………………….. 126
Файл _ViewImports………………………………………………………………………………………………………………….. 128
HTML-хелперы………………………………………………………………………………………………………………………… 129
Тег-хелперы……………………………………………………………………………………………………………………………… 137
Частичные представления………………………………………………………………………………………………………. 148
Компоненты представлений…………………………………………………………………………………………………… 150
Компоненты Blazor………………………………………………………………………………………………………………….. 152
Глава 5. Использование баз данных…………………………………………………….. 159
Обзор Entity Framework Core………………………………………………………………………………………………….. 159
Добавление службы для работы с базой данных…………………………………………………………………. 168
Применение Dapper………………………………………………………………………………………………………………….. 175
Глава 6. Введение в веб-API…………………………………………………………………. 180
Определение контроллера веб-API………………………………………………………………………………………… 181
Тестирование методов контроллера веб-API………………………………………………………………………… 187
Клиент службы веб-API…………………………………………………………………………………………………………… 192
Валидация в веб-API……………………………………………………………………………………………………………….. 203
Настройка форматов……………………………………………………………………………………………………………….. 208
Создание чат-бота…………………………………………………………………………………………………………………… 211
Глава 7. Фронтенд-фреймворки……………………………………………………………. 218
Добавление клиентских библиотек………………………………………………………………………………………… 218
Стилизация с помощью Bootstrap………………………………………………………………………………………….. 223
Проверка данных на клиентской стороне……………………………………………………………………………… 226
Знакомство с jQuery UI……………………………………………………………………………………………………………. 229
Глава 8. Технология AJAX…………………………………………………………………… 235
Основы AJAX……………………………………………………………………………………………………………………………. 235
Обработка запросов………………………………………………………………………………………………………………… 239
Основные методы AJAX-библиотеки jQuery…………………………………………………………………………. 245
Методы обработки событий…………………………………………………………………………………………………… 252
Обработка данных перед отправкой……………………………………………………………………………………… 257
Использование jQuery Unobtrusive AJAX………………………………………………………………………………. 259
CRUD-операции с использованием AJAX……………………………………………………………………………… 265
Глава 9. Основные сценарии, используемые при построении приложений 275
Сессии в ASP.NET Core……………………………………………………………………………………………………………. 275
Использование cookie……………………………………………………………………………………………………………… 280
Использование фильтров………………………………………………………………………………………………………… 284
Создание защищенных страниц…………………………………………………………………………………………….. 293
Комбинированный список с автоподстановкой……………………………………………………………………. 306
Динамический поиск по базе данных…………………………………………………………………………………….. 312
Раскрывающиеся списки…………………………………………………………………………………………………………. 314
Реализация фоновых задач…………………………………………………………………………………………………….. 321
Сортировка данных в таблицах…………………………………………………………………………………………….. 326
Группировка табличных данных…………………………………………………………………………………………… 332
Постраничное представление в таблицах…………………………………………………………………………….. 338
Изменение данных в таблицах……………………………………………………………………………………………….. 344
Разработка файлообменника………………………………………………………………………………………………….. 355
Создание формы обратной связи……………………………………………………………………………………………. 361
Добавление капчи……………………………………………………………………………………………………………………. 369
Использование переключателей…………………………………………………………………………………………….. 375
Глава 10. Публикация и развертывание приложений…………………………… 380
Публикация приложений………………………………………………………………………………………………………… 381
Развертывание приложения с помощью IIS………………………………………………………………………….. 386
Запуск приложения в виде службы Windows………………………………………………………………………… 390
Развертывание приложения в виде фонового сервиса под Linux………………………………………… 393
Заключение………………………………………………………………………………………….. 399
Приложение 1. Основные элементы HTML………………………………………….. 401
Базовые теги…………………………………………………………………………………………………………………………….. 401
Форматирование текста………………………………………………………………………………………………………….. 402
Элементы навигации……………………………………………………………………………………………………………….. 404
Встраивание элементов…………………………………………………………………………………………………………… 404
Работа с таблицами…………………………………………………………………………………………………………………. 405
Создание форм и кнопок…………………………………………………………………………………………………………. 405
Приложение 2. Содержимое электронного архива………………………………… 406
Предметный указатель…………………………………………………………………………. 407