MVC3 Razor:在代码块中显示html

在我的cshtml文件中,我有很多像这样的东西的块:

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

跨度的唯一原因是因为我找不到任何其他的方式来强迫它认识到“Hello World”是html的一部分,除非我把它包含在html标签中。 有没有一种很好的方式来逃避代码,不涉及添加无意义的标签显示?

你可以使用@:来转义:

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

或者在响应中没有输出的特殊<text>标签:

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

您可以按如下方式添加文本:

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

当你使用@razor切换到代码块模式。 因此你需要像上面那样指定文本。

 <text>Explicit HTML<text> @(Explicit C#) 

许多开发人员已经提供了许多方法以上..这里是另一个在MVC 4中工作正常..我希望它也能为MVC 3工作..

 @if(Model.foo) { @Html.Label("Hello World") }