如何在If语句中包含HTML

时间:2015-07-20 04:03:19

标签: c# asp.net-mvc razor

为什么当我在C#语句中使用某些HTML时,Razor会抱怨无效的表达式和术语?

我该如何解决这个问题?

例如;在我的_layout.cshtml中:

@if (Team.Id == ViewBag.TeamId)
{
    </div>
    <div class="row">
    &nbsp;
}

2 个答案:

答案 0 :(得分:9)

Razor实际上试图了解您的HTML。不幸的是,它不能高度智能化,并能识别表达式之外的动态代码或代码。

由于

</div>
<div>

是无效的HTML,它抱怨。

您可以使用@:

来避免此问题

这迫使剃刀绕过其“HTML识别”,只需打印您要求的任何内容。

E.g。

@if (Team.Id == ViewBag.TeamId)
{
    @:</div>
    @:<div class="row">
    @:&nbsp;
}

答案 1 :(得分:0)

您还可以在@Html.Raw("YOUR HTML");语句中使用if添加HTML代码