2011-07-06 41 views
109

在我CSHTML文件,我有好多块用这样的东西中显示HTML:MVC3剃刀:代码块

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

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

回答

195

你可以使用@:逃脱:

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

或特殊<text>标签未在响应输出:

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

您可以在下面添加文字:

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

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

8
<text>Explicit HTML<text> 

@(Explicit C#) 
7

许多开发人员提供了许多方法上面。这里是一个多这是在MVC 4做工精细..我希望它会为MVC 3也工作..

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