Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft
ДВИЖОК ПРЕДСТАВЛЕНИЯ RAZOR Модуль 2
Синтаксис Razor Сравнение с WebForms и PHP Варианты вставок кода в разметку Шаблоны страниц Повторное использование кода разметки Содержание модуля
@if (User.IsAdmin()) { Edit } Простое смешивание C# кода и HTML разметки Совместимость с ASP.NET Web Pages и WebMatrix Razor Syntax
Сравним (int i = 0; i < 10; i++) (int i = 0; i < 10; i++) } Razor (2 вставки): Web Forms (6 вставок): PHP (2 вставки и echo):
Включение кода в var name = John Doe; Your var name = John Doe; Your var name = John Your var name = John Your } Вариант 3: Строка текста Вариант 1: HTML var name = John Doe; Your var name = John Doe; Your } Вариант 2: Текстовое поле
(int i = 0; i < 10; i++) (int i = 0; i < 10; i++) } (var p (var p } foreach
Hello var name = "John } var name = "John } Вариант 3: Код и разметка Вариант 1: //var name = "John Doe; //var name = "John Doe; } Вариант 2: Код
Нет нужды повторяться Общий шаблон для всех страниц Шаблоны страниц Layout.cshtml Page 1 Page 2 Page 3
1.Определить шаблон (Layout) 2.Ссылаться на него на страницах Синтаксис щаблонов Simple Simple Layout = "/Shared/_Layout.cshtml"; } My content goes Layout = "/Shared/_Layout.cshtml"; } My content goes here MyPage.cshtml
Секции позволяют странице занимать несколько блоков в шаблоне Секции шаблонов Layout = "/Shared/_Layout.cshtml"; Menu { Option 1 Option 2 } My content goes Layout = "/Shared/_Layout.cshtml"; Menu { Option 1 Option 2 } My content goes here MyPage.cshtml
Метод RenderPage() позволяет включать другие страницы Повторное использование разметки @RenderPage("/Shared/_Footer.cshtml") @RenderPage("/Shared/_Footer.cshtml") /Shared/_Layout.cshtml © 2010 Contoso © 2010 Contoso /Shared/_Footer.cshtml
RAZOR Демонстрация
СПАСИБО ЗА ВНИМАНИЕ! Смотрите в следующей серии… Работа с данными и модели…