MVC3 Razor:在代码块中显示html

DMu*_*gan 125 razor asp.net-mvc-3

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

@if(Model.foo)
{
    <span>Hello World</span>
}
Run Code Online (Sandbox Code Playgroud)

跨度的唯一原因是因为我找不到任何其他方法来强制它识别"Hello World"是html的一部分,除非我将它包围在html标签中.是否有一种很好的方法来逃避不涉及向显示器添加无意义标签的代码?

Dar*_*rov 215

你可以@:用来逃避:

@if(Model.foo)
{
    @:Hello World
}
Run Code Online (Sandbox Code Playgroud)

<text>响应中未输出的特殊标签:

@if(Model.foo)
{
    <text>Hello World</text>
}
Run Code Online (Sandbox Code Playgroud)


Ser*_*lov 13

@if(Model.foo)
{
  @:Hello World
}
Run Code Online (Sandbox Code Playgroud)


mat*_*mat 9

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

@if(Model.foo)
{
    @:Hello World
}
Run Code Online (Sandbox Code Playgroud)

当你使用@剃刀切换到代码块模式.因此,您需要指定上面的文本.


Căt*_*doi 8

<text>Explicit HTML<text>

@(Explicit C#)
Run Code Online (Sandbox Code Playgroud)


NMa*_*hur 8

很多开发人员已经提供了很多方法.这里还有一个在MVC 4中工作得很好.我希望它也可以用于MVC 3 ..

@if(Model.foo)
{
    @Html.Label("Hello World")
}
Run Code Online (Sandbox Code Playgroud)