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?
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>
}
@if(Model.foo)
{
@:Hello World
}
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.
<text>Explicit HTML<text>
@(Explicit C#)
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")
}