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# Razor
  2. Введение в веб-программирование ASP.NET с использованием синтаксиса Razor (C#)