Razor Syntax by Patrik

Razor Syntax for Text Output

The contents of a code block ({ ... }) are expected to be code, not markup.

If you want to put text directly in a code block, you have three choices:

  • Wrap it in any HTML tag
  • Wrap it in the special Razor <text> tag, which will just render the text without the tag
  • Prepend the line with @:, which is equivalent

Use the <text> tags

The <text> tag signals to the razor view engine to write the contents to the output.

@{ var foo = true; }
@if(foo) { <text>Yes</text> } else { <text>No</text> }

Use @:

Prefix the text with @: before the first instance of text in the line. The parser is interpreting everything following @:Yes... to be text.

@{ var foo = true;
    if (foo)
    {
        @:Yes
    }
    else
    {
        @:No
    }
}

Comments