Что означает @: в ASP.NET MVC Razor?

Я работаю над представлением ASP.NET MVC Razor, которое написал кто-то другой. Я вижу, что он содержит следующее:

<span>
    @:
</span>

Я знаю, что символ @ позволяет мне вставлять код в представление, но что означает @: для?

Ответ 1

В MVC @ соответствует char, который позволяет использовать бритву внутри HTML (внутри .cshtml), которая во время выполнения (или предварительно скомпилирована) будет преобразована в С#.

С @ вы можете писать С# в HTML и @: вы можете писать HTML в С#.

Пример:

@foreach (TestClass item in Model)
{
    @:@item.Code - @item.Name
}

Без @: было бы невозможно сделать это, так как все символы после первого @ будут рассматриваться как С#.

Таким образом, вы говорите, что получаете две переменные из item и помещаете char - между ними, а результатом является блок контента (или html/text)