In my cshtml files I have a lot of blocks with stuff like this:
@if(Model.foo)
{
Hello World
}
The only reason
<text>Explicit HTML<text>
@(Explicit C#)
The above answers are great. I'm going to include a link to Scott Guthrie's article on this, since it shows some more examples and explanations.
https://weblogs.asp.net/scottgu/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax
@if (p.UnitsInStock == 0 {
<text>
Donec in ante vitae purus consequat laoreet ut elementum
purus. Ut ut tempus nulla, quis ultrices est. Integer
pharetra ante in lectus porta, a lacinia ex faucibus.
Aliquam magna risus, pretium vel neque at, laoreet
ultrices lectus. Morbi posuere luctus risus. Nullam
tincidunt massa egestas nunc tempor scelerisque.
</text>
}
@if (p.UnitsInStock == 0 {
@: Line 1
@: Line 2
@: Line 3
}
You can add text in as below:
@if(Model.foo)
{
@:Hello World
}
when you use @
razor switch it to code block mode. Hence you need to specify text as above.
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>
}
many developers has provided many ways above .. here is one more which is working fine in MVC 4 .. I hope it will work for MVC 3 also ..
@if(Model.foo)
{
@Html.Label("Hello World")
}
@if(Model.foo)
{
@:Hello World
}