Главная > .NET > Краткий справочник по синтаксису Razor (Перевод)

Краткий справочник по синтаксису Razor (Перевод)

Представляю Вашему вниманию перевод статьи Фила Хаака (Phil Haack) Razor Syntax Quick Reference.

Вчера я выступал с докладом об ASP.Net MVC и движке представлений Razor перед другой командой Microsoft и кто-то спросил: «Существует ли справочник по синтаксису Razor?».

Оказывается, доступно очень хорошее руководство по Razor, но оно сосредотечено на освещении основ веб-программирования с использованием Razor и встроенных страниц, а не только на систанксисе Razor.

Так я подумал, что хорошо было бы написать по-настоящему краткий справочник по синтаксису Razor.

Синтаксис/Пример Razor Эквивалент в Web Forms (или замечания)
Блок кода @{
 int x = 123;
 string y = "because.";
}
<%
 int x = 123;
 string y = "because.";
%>
Выражение (c HTML-кодированием вывода) <span>@model.Message</span> <span><%: model.Message %></span>
Выражение (без HTML-кодирования вывода) <span>@Html.Raw(model.Message)</span> <span><%= model.Message %></span>
Объединение текста и разметки @foreach(var item in items) {
 <span>@item.Prop</span>
}
<% foreach(var item in items) { %>
 <span><%: item.Prop %></span>
<% } %>
Смешивание кода и простого текста (1-й способ) @if (foo) {
 <text>Простой текст</text>
}
<% if (foo) { %>
 Простой текст
<% } %>
Смешивание кода и простого текста (2-й способ) @if (foo) {
 @:Простой текст @bar
}
Тоже самое
Адрес электронной почты Привет philha@example.com Razor распознает основной формат адреса электронной почты и он достаточно умен, чтобы не обрабатывать @ как разделитель кода
Явное выражение <span>ISBN@(isbnNumber)</span> В данном примере, мы должны явно задать выражение с помощью круглых скобок
Экранирование символа @ <span>В Razor, Вы используете
@@foo для отображения значения foo</span>
@@ выводится как одиночный символ @
Смешивание выражений и текста Здравствуйте, @title. @name. Здравствуйте, <%: title %>. <%: name %>.
Серверные комментарии @*
Это серверный
многострочный комментарий
*@
<%--
Это серверный
многострочный комментарий
--%>

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

Дайте мне знать, если существуют другие примеры, которые, по Вашему мнению, должны быть размещены в данном справочнике. Я надеюсь, что Вы посчитаете это полезным.

Реклама
Рубрики:.NET Метки: , , ,
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: