Опубликован: 04.07.2012 | Уровень: специалист | Доступ: платный
Лекция 12:

ASP.NET MVC3 и ASP.NET Razor

Аннотация: Цель лекции: ознакомление с расширенными возможностями платформы разработки веб-приложений ASP.NET MVC и с одним из механизмов визуализации - Razor.

ASP.NET MVC 3 - это платформа для построения масштабируемых, основанных на стандартах приложений с использованием качественных шаблонов проектирования, а также всех возможностей ASP.NET и .NET Framework.

Важнейшие характеристики:

  • Интегрированная каркасная система, расширяемая с помощью пакета NuGet;
  • шаблоны проектов, поддерживающие HTML 5;
  • эффективные средства отображения, включая новый механизм визуализации Razor;
  • широкая поддержка JavaScript;
  • и другие.

Razor

Razor является синтаксисом разметки, который позволяет встраивать серверный код (Visual Basic и C #) в веб-страницу.

Серверный код позволяет создавать динамический веб-контент на лету, в то время как веб-страница ориентирована на веб-браузер. Когда вызывается веб-страница, сервер выполняет серверный код на странице, перед тем, как вернет ее в веб-браузер. При запуске на сервере, код может выполнять достаточно сложные задачи, такие как обращение к базам данных.

Синтаксис Razor основан на ASP.NET, и предназначен для создания веб-приложений. Он обладает возможностями традиционной ASP.NET разметки, но он проще в использовании, и легче для освоения.

Основные синтаксические правила Razor для C#:

  • блоки Razor кода заключаются в @ {... }.
  • Встроенные выражения (переменные и функции) всегда начинаются с @.
  • Операторы в выражениях заканчиваются точкой с запятой.
  • Переменные объявляются с ключевым словом var.
  • Строки заключаются в кавычки.
  • C# код чувствителен к регистру.
  • C# файлы имеют расширение .cshtml.

Пример:

<!-- Однострочная блочная инструкция -->
@{ var myName = "Anna"; }

<!-- Встроенное выражение или переменная  -->
<p>Меня зовут: @myName</p> 

<!-- Блок из нескольких выражений -->
@{
  var greeting = "Привет!";
  var Day = DateTime.Now.DayOfYear;
  var Message = greeting + " Сегодня: " + Day + " года";
}

Как образом это работает?

Веб-страница Razor содержит как HTML разметку так и Razor код. При обработке страницы сервером, он прежде всего обрабатывает Razor код, прежде чем отправить HTML-страницу веб-браузеру. Код, который выполняется на сервере, может выполнять задачи, которые не могут быть реализованы в веб-браузере, например, доступ к серверу баз данных. Код сервера может создавать динамический HTML-контент на лету, перед тем как он будет отправлен в браузер. При просмотре полученной страницы в веб-браузере, она ничем не отличается от статической HTML страницы.

Веб-страницы ASP.NET с синтаксисом Razor представляют собой файл с расширением .cshtml (для C #) или .vbhtml (для VB).

Для работы с Razor кодом можно использовать пакеты WebMatrix, Visual Studio 2010 или Visual Web Developer 2010.

WebMatrix 2

WebMatrix - это свободно распространяемый и простой в использовании набор инструментов веб-разработки, предоставляющий самый простой способ для построения веб-сайтов. В этот набор входят: IIS Developer Express (веб-сервер для разработки, запускаемый системой по запросу), ASP.NET и SQL Server Compact (встроенная база данных). В комплект также входит простой редактор с подсветкой синтаксиса поддерживаемых языков программирования и средств разметки, ускоряющих разработку веб-сайтов и упрощающих запуск веб-сайтов из популярных приложений с открытым кодом. Навыки и разрабатываемый с помощью WebMatrix 2 код можно применять и в Visual Studio, и в SQL Server.

Создаваемые с помощью WebMatrix 2 веб-страницы могут быть динамическими, т.е. они могут изменять свое содержимое и стиль в зависимости от введенных пользователем данных или от других сведений, например содержащихся в базе данных. Для программирования динамических веб-страниц используется ASP.NET с синтаксисом Razor и языки программирования C# или Visual Basic.

Если у разработчика уже имеются подходящие средства разработки, он может создавать веб-сайты, использующие ASP.NET, с их помощью или попробовать применить средства WebMatrix 2.

В Visual Studio имеются две дополнительные полезные функции для программирования веб-страниц на ASP.NET Razor:

  • IntelliSense - увеличивает продуктивность разработки с помощью автозавершения кода и вывода информации о класса и методах, с которыми выполняется работа в редакторе (WebMatrix 2 включает в себя IntelliSense для некоторых языков, например HTML и CSS, но не для C#. Возможно с выходом следующих версии, WebMatrix получит средства, сравнимые по функционалу с Visual Studio);
  • Отладчик - позволяет исследовать причины неправильной работы кода, без остановки программы во время ее работы.
Сергей Крупко
Сергей Крупко
Как оплатить курс?
Галина Башкирова
Галина Башкирова
Темы Вкр для проф. переподготовки Профессиональное веб-программирование
Елена Игнатко
Елена Игнатко
Россия, Москва
Дмитрий Даньшин
Дмитрий Даньшин
Россия