MVC3 Razor: Displaying html within code blocks

asp.net-mvc-3, razor

Solution

You could use `@:` to escape:

@if(Model.foo)
{
    @:Hello World
}

or the special `<text>` tag which is not outputted in the response:

@if(Model.foo)
{
    <text>Hello World</text>
}

Problem

In my cshtml files I have a lot of blocks with stuff like this: ``` @if(Model.foo) { <span>Hello World</span> } ``` The only reason the span is there is because I can't find any other way to force it to recognize that "Hello World" is part of the html unless I surround it in html tags. Is there a good way to escape the code that doesn't involve adding meaningless tags to the display?

Original source