C# 如何在If语句中包含HTML

C# 如何在If语句中包含HTML,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,为什么当我的C#语句中包含某些HTML时,Razor会抱怨无效的表达式和术语 我怎样才能解决这个问题 比如,;在my_layout.cshtml中: @if (Team.Id == ViewBag.TeamId) { </div> <div class="row"> &nbsp; } @if(Team.Id==ViewBag.TeamId) { } Razor实际上试图理解您的HTML。不幸的是,它不能高度智能化,不能识别动态代码或表达式

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

我怎样才能解决这个问题

比如,;在my_layout.cshtml中:

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

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


您还可以使用
@Html.Raw(“您的Html”)
if
语句中添加HTML代码,正如@RowanFreeman所指出的,用
@:
转义HTML是解决这个问题的一种方法。如果你能够提供更多关于你正在做的事情的上下文(你的数据是什么,你想要的标记结果是什么),我敢打赌有人会想出一个解决方案,而不必担心这个问题。另一个选择是将end div连接到start div,反之亦然。这里给出的代码摘录有点反模式,因为您在一个看似随机的地方拆分一个div。
</div>
<div>
@if (Team.Id == ViewBag.TeamId)
{
    @:</div>
    @:<div class="row">
    @:&nbsp;
}