View
1.267
Download
9
Category
Preview:
DESCRIPTION
Открытый семинар для студентов в компании CUSTIS (17 октября 2012). Лектор: Денис Чекушин, разработчик (С#, SQL), специалист по разработке корпоративных web-приложений. Аннотация: Семинар будет посвящен паттернам проектирования MVC и основам тестирования web-приложений. Будет проведен обзор платформы ASP.NET MVC и освещены ее ключевые особенности (расширяемость, маршрутизация, отсутствие сохранения состояния страницы), а также рассмотрен движок представлений в ASP.NET MVC. Видеозапись семинара: https://vimeo.com/53412843/
Citation preview
Разработка web-приложений на платформе ASP.NET MVC
Денис Чекушин Разработчик (С#, SQL), специалист по разработке корпоративных web-приложений
17 октября 2012 года
Программа семинара Знакомство с ASP.NET MVC 3
Паттерн MVC
Компоненты ASP.NET MVC 3
Движок представления Razor
Работа с данными и модели
Маршрутизация
Тестирование web-приложения
2/27
Стек технологий ASP.NET
Caching
Modules
Handlers Intrinsics
Pages
Controls
Globalization
Profile
Master Pages
Membership Roles
Etc.
ASP.NET Core
3/27
Стек технологий ASP.NET
Visual Studio 2010 WebMatrix
ASP.NET Web Forms
ASP.NET MVC
ASP.NET Web Pages
Web Forms View Engine Razor View Engine
4/27 Caching
Modules
Pages
Controls
Globalization
Master Pages
ASP.NET Core
Паттерн проектирования MVC MVC = Model, View, Controller
View Controller
Model
5/27
Принцип работы MVC в интернете
request
response
Controller Model works
View
View Model
6/27
Компоненты ASP.NET MVC 3
View Controller
Model
• Razor • Хелперы • Частичные
представления
• Аннотация данных • Модели данных • Модели представления
• Фильтры действий • Глобальные
фильтры
7/27
Движок представления Razor
8/27
Web Forms и Razor
9/27
Синтаксис Razor ASPX Описание
@exp <%: exp %> Вывод текста на страницу
@(exp) <%: exp %> Явное выражение
@{ str; } <%: str; %> Включение кода
@* Комментарий * <%-- Комментарий --%> Комментарий к блоку кода
@if (a > b) { stm; } else { stms; }
<% if (a > b) { stm; } else { stms; } %>
Выполнение условных операторов
10/27
Код С# в HTML-разметке
Строка текста:
HTML-блок:
Текстовое поле:
11/27
Шаблоны страниц (Layout)
Шаблон страницы Страница
request response
12/27
Синтаксис шаблонов
13/27
Повторное использование разметки
/Shared/_Footer.cshtml
14/27
Декларативные HTML-хелперы
15/27
Контроллер
16/27
Фильтры действий
17/27
Полезные фильтры действий Authorize
HandleError
HttpGet / HttpPost
OutputCache
18/27
Настраиваемые фильтры
19/27
Глобальные фильтры
20/27
Mодели Модели данных Используются для работы с данными Сохраняются и восстанавливаются
Модели представления Используются для передачи данных представлению Могут включать модели данных Могут содержать преобразованные данные из моделей
данных
21/27
Модели представления
response
AccountModels.cs LogOn.cshtml
22/27
Таблица маршрутизации
http://my.site.com/home/index/3 — будет вызван метод: HomeController.Index(3)
24/27
Тестирование Модели – unit-тесты
Контроллеры – unit-тесты
Роуты – unit-тесты
Представления – функциональные тесты (Selenium и т. д.)
25/27
Тестирование контроллера
26/27
Recommended