Разработка web-приложений на платформе ASP.NET MVC

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

Маршрутизация ASP.NET MVC http://my.site.com/home/index/3

23/27

Таблица маршрутизации

http://my.site.com/home/index/3 — будет вызван метод: HomeController.Index(3)

24/27

Тестирование Модели – unit-тесты

Контроллеры – unit-тесты

Роуты – unit-тесты

Представления – функциональные тесты (Selenium и т. д.)

25/27

Тестирование контроллера

26/27

Спасибо! Вопросы?

Денис Чекушин chekushin@custis.ru

27/27

Recommended