Разделы презентаций


Введение в ASP.NET MVC

Содержание

История ASP.NET1996 – ASP – Active Server Pages, построение страниц на сервере на основе шаблонов. Шаблоны сочетали код на VB c HTML-разметкой.2001 – ASP.NET – Составная часть новой платформы .NET. Технология

Слайды и текст этой презентации

Слайд 1Введение в ASP.NET MVC
ASP.NET MVC 4.0
2013

Введение в ASP.NET MVCASP.NET MVC 4.02013

Слайд 2История ASP.NET
1996 – ASP – Active Server Pages, построение страниц

на сервере на основе шаблонов. Шаблоны сочетали код на VB

c HTML-разметкой.

2001 – ASP.NET – Составная часть новой платформы .NET. Технология WebForms, по аналогии с WinForms.

2009 – ASP.NET MVC. Аналогична уже существующим на рынке подходам: Java Spring 2002, Python Jango 2003 и др.

2013 – ASP.NET MVC 5.0 – октябрь, последняя версия

ASP.NET

WebForms

ASP.NET

WebForms

MVC

ASP

История ASP.NET1996 – ASP – Active Server Pages, построение страниц на сервере на основе шаблонов. Шаблоны сочетали

Слайд 3Фреймворки на базе ASP.NET
ASP.NET – бесплатный фреймворк для построения больших

веб-приложений с использованием HTML, CSS и JavaScript. 

WebForms – технология построение

веб-приложений из стандартных управляющих элементов и обработчиков событий.

ASP.NET MVC – построение веб-приложений на базе шаблона MVC с разделением ответственности и полным контролем над HTML кодом страниц.

Web Pages – быстрая разработка веб-сайтов согласно современным веб-стандартам.
Фреймворки на базе ASP.NETASP.NET – бесплатный фреймворк для построения больших веб-приложений с использованием HTML, CSS и JavaScript. WebForms

Слайд 4План
Введение в ASP.NET MVC
Движок Razor
Модели
Доступ к данным
Контроллеры
Представления
Валидация ввода
Аутентификация и

авторизация
Модульное тестирование
jQuery
AJAX

ПланВведение в ASP.NET MVCДвижок RazorМоделиДоступ к данным КонтроллерыПредставленияВалидация вводаАутентификация и авторизацияМодульное тестирование jQueryAJAX

Слайд 5Литература по ASP.NET MVC
Jon Galloway, Phil Haack, Brad Wilson, K.

Scott Allen PROFESSIONAL ASP.NET MVC 3 (здесь перевод на

русский)

Стивен Сандерсон ASP.NET MVC Framework с примерами на C# для профессионалов

Jeffrey Palermo, Jimmy Bogard, Eric Hexter, Matthew Hinze, and Jeremy Skinner ASP.NET MVC 4 in Action (есть на русском)
Литература по ASP.NET MVCJon Galloway, Phil Haack, Brad Wilson, K. Scott Allen  PROFESSIONAL ASP.NET MVC 3

Слайд 6Цель занятия
Познакомиться с архитектурой WEB приложения.
Вспомнить шаблон MVC.
Написать

приложение Hello ASP.NET MVC!

Цель занятияПознакомиться с архитектурой WEB приложения. Вспомнить шаблон MVC. Написать приложение Hello ASP.NET MVC!

Слайд 7WEB-приложение на платформе ASP.NET



WEB server

WEB client
GET, POST
HTML

ASP.NET

WEB

application
WEB application – виртуальный каталог на сервере. Поэтому путь к

ресурсу не обязан быть путем в файловой системе.
WEB-приложение на платформе ASP.NETWEB serverWEB clientGET, POSTHTML  ASP.NET WEB applicationWEB application – виртуальный каталог на сервере.

Слайд 8Протокол HTTP
HTTP — протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт

по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI.

В отличие от многих других протоколов, HTTP не сохраняет своего состояния. 


Тим Бернерс-Ли, изобретатель URI, URL, HTTP, HTML и Web

GET, POST

GET, POST

Протокол HTTP	HTTP — протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов

Слайд 9Примеры запроса и ответа
GET /simple.html HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 24 Oct 2011 14:12:36 GMT
User-Agent: Mozilla/4.0.(compatible; MSIE.6.0; Windows NT 5.1)
Host: www.wintellect.com
Connection: Keep-Alive
[blank line]

http://www.wintellect.com/simple.html
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 24 Oct 2011 14:12:37 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Wed, 24 Oct 2001 14:00:53 GMT
Content-Length: 46



Hello, world




Увидеть заголовки

можно в окне разработчика браузера Chrome [F12, F5, Network, Headers].

Примеры запроса и ответаGET /simple.html HTTP/1.1Accept: */*Accept-Language: en-usAccept-Encoding: gzip, deflateIf-Modified-Since: Wed, 24 Oct 2011 14:12:36 GMTUser-Agent: Mozilla/4.0.(compatible; MSIE.6.0; Windows NT 5.1)Host: www.wintellect.comConnection: Keep-Alive[blank line]http://www.wintellect.com/simple.htmlHTTP/1.1 200 OKServer: Microsoft-IIS/5.0Date: Wed, 24 Oct 2011 14:12:37 GMTContent-Type: text/htmlAccept-Ranges: bytesLast-Modified: Wed, 24 Oct 2001 14:00:53 GMTContent-Length: 46    Hello, world Увидеть заголовки можно в окне разработчика браузера Chrome [F12,

Слайд 10Шаблон MVC
Концепция MVC была описана в 1979 г. Трюгве Реенскаугом, тогда

работающим над языком программирования Smalltalk в Xerox PARC. 
Пассивная модель — модель не имеет никаких

способов воздействовать на представление или контроллер, и используется ими в качестве источника данных для отображения. Все изменения модели отслеживаются контроллером и он же отвечает за перерисовку представления, если это необходимо.

Активная модель — модель оповещает представление о том, что в ней произошли изменения, а представления, которые заинтересованы в оповещении, подписываются на эти сообщения. Это позволяет сохранить независимость модели как от контроллера, так и от представления.

Классической реализацией концепции MVC принято считать версию именно с активной моделью.

Шаблон MVCКонцепция MVC была описана в 1979 г. Трюгве Реенскаугом, тогда работающим над языком программирования Smalltalk в Xerox PARC. Пассивная модель — модель

Слайд 11Шаблон MVC для Web
M – классы, которые представляют данные

приложения и бизнес-правила, которым должны удовлетворять эти данные

V – файлы

шаблонов, по которым генерируется динамический HTML-ответ

C – классы, которые обрабатывают запросы пользователя, получают данные от модели и выбирают представление для формирования ответа пользователю

Шаблон MVC для Web M – классы, которые представляют данные приложения и бизнес-правила, которым должны удовлетворять эти

Слайд 12Приложение Hello MVC!
Создать проект ASP.NET MVC 4, вид проекта –

пустой (Empty).

Добавить HomeController, который передаст в представление слова "Hello MVC!"



Создать представление, которое получит от контроллера слова "Hello MVC!" и покажет их на странице.

Приложение Hello MVC!Создать проект ASP.NET MVC 4, вид проекта – пустой (Empty).Добавить HomeController, который передаст в представление

Слайд 13Траектория запроса
Маршрутизатор
Запрос
Метод контроллера
Шаблон представления
Ответ
"Hello MVC!"

Траектория запросаМаршрутизаторЗапросМетод контроллераШаблон представленияОтвет

Слайд 14Маршрутизатор
namespace MvcApplication4
{
public class RouteConfig
{

public static void RegisterRoutes(RouteCollection routes)
{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index",
id = UrlParameter.Optional }
);
}
}
}

В файле ~/App_Start/RouteConfig.cs корректируется таблица маршрутов.

Эта коррекция означает, что запрос "сервер/приложение/С/M/" вызовет метод M класса C,
а запрос "сервер/приложение/" вызовет метод Index класса Home.

Шаблон маршрута содержит текст «как есть» и параметры. Имена параметров заключены в фигурные скобки.

Маршрутизаторnamespace MvcApplication4{  public class RouteConfig  {    public static void RegisterRoutes(RouteCollection routes)

Слайд 15Контроллер
public class HomeController : Controller
{


public ActionResult Index()

{
ViewBag.Info = "Hello MVC!";
return View();
}
}

В файле ~/Controllers/HomeController.cs находится класс контроллера.

Открытые методы контроллера вызываются по http-запросу.

Возвращаемое значение метода ссылается на шаблон представления. По умолчанию дается ссылка на представление, одноименное с методом.

Данные, которые нужно показать, закладываются в динамический объект ViewBag.

Контроллер  public class HomeController : Controller  {        public

Слайд 16Представление
@ViewBag.Info
В файле ~/Views/Home/Index.cshtml находится шаблон представления (Home – класс контроллера,

Index – метод контроллера).

Данные, которые передал контроллер, извлекаются из динамического

объекта ViewBag.

Данные вставляются в шаблон страницы с использованием нотации Razor.

Представление@ViewBag.InfoВ файле ~/Views/Home/Index.cshtml находится шаблон представления (Home – класс контроллера, Index – метод контроллера).Данные, которые передал контроллер,

Слайд 17Реализовать диалог
Сервер: Назовите свое имя.
Клиент: Вася.
Сервер: Привет, Вася.


Назовите свое имя.
Вася
Привет,

Вася.
Готово
Вид веб-формы
текст
поле ввода
кнопка
текст

Реализовать диалогСервер: Назовите свое имя.Клиент: Вася.Сервер: Привет, Вася.Назовите свое имя.ВасяПривет, Вася.ГотовоВид веб-формытекстполе вводакнопкатекст

Слайд 18Реализация диалога
Одна страница вызывается дважды
– первый раз из адресной

строки браузера по команде GET,
– второй раз по нажатию

кнопки, команда POST.

Запрос POST передает на сервер данные формы (содержимое поля ввода).

Методы контроллера нужно промаркировать атрибутом HttpGet или HttpPost.

Форма

Реализация диалогаОдна страница вызывается дважды – первый раз из адресной строки браузера по команде GET, – второй

Слайд 19Извлечение параметров запроса
Команды GET и POST могут иметь именованные параметры.


Параметры команд должны быть переданы в соответствующие методы контроллера.

Есть два

способа это сделать:
объявить одноименные параметры в соответствующем методе контроллера;

public ActionResult Index(string username = "")
{
ViewBag.UserName = username;
return View();
}

public ActionResult Index()
{
ViewBag.UserName = this.RouteData.Values["username"];
return View();
}

2) воспользоваться объектом RouteData, который содержит данные запроса в виде словаря.

Извлечение параметров запросаКоманды GET и POST могут иметь именованные параметры. Параметры команд должны быть переданы в соответствующие

Слайд 20Самостоятельно
Сделать приложение, в котором пользователь может задать один из вопросов,

«Который час?» или «Какой сегодня день недели?» и получить ответ

от сервера.
СамостоятельноСделать приложение, в котором пользователь может задать один из вопросов, «Который час?» или «Какой сегодня день недели?»

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика