Razor - это язык шаблонов, используемый веб-страницами ASP.NET и ASP.NET MVC (начиная с версии 3). Он добавляет слой абстракции над генерацией HTML. Он поддерживает плавные переходы между разметкой HTML и кодом C # или VB. Переходы между разметкой и кодом обозначаются знаком «@».

Razor - это язык шаблонов, используемый веб-страницами ASP.NETи ASP.NET MVC(начиная с версии 3). Он поддерживает плавные переходы между разметкой HTML и кодом C # или VB. Файлы Razor имеют расширение типа .cshtml (для C #) и .vbhtml (для VB). Вместо «кода за файлом» с вашим кодом C # или VB вы можете внедрить свой код в тот же файл с вашей разметкой HTML. Переходы между разметкой и кодом обозначаются знаком «@».

Например, для рендеринга простого списка HTML используется следующий синтаксис c #:

<ul>
@for (int i = 0; i < 10; i++) {
    <li>Item @i</li>
}
</ul>

Для визуализации простого списка HTML в VB используется следующий синтаксис:

<ul>
@For i As Integer = 0 To 9
    @<li>Item @i</li>    
Next
</ul>

Razor поддерживает вспомогательные шаблоны:

@helper Bold(string text) {
   return "<bold>"+text+"<bold>";
}

<p>
  This text is @Bold("bold")
<p> 

По умолчанию все строки в кодировке html, если вы хотите избежать этого, используйте помощник Raw:

<p>@Html.Raw("<bold>hello</bold>")</p>

Иногда вы можете захотеть включить текст в экранированный раздел, для этого используйте <text> или @::

@if(condition) {
 @: This is going to be rendered
}

@if(condition) {
 <text>
   This is a 
   Multiline text block 
 </text>
} 

Справочные статьи


  1. Краткий справочник по синтаксису бритвы C #
  2. Введение в веб-программирование на ASP.NET с использованием синтаксиса Razor (C #)