Asp.net mvc 4 MVC 4如何添加a<;部门>;元素有条件地

Asp.net mvc 4 MVC 4如何添加a<;部门>;元素有条件地,asp.net-mvc-4,Asp.net Mvc 4,希望有条件地添加HTML(div)元素。但是,由于解析器混淆了end div(第一个结尾“}”不再是代码),因此从my Create.cshtml中提取的代码不起作用 @if(setDiv) { } //更多代码更多HTML if(setDiv) { } 有人知道如何解决这个问题吗?提前谢谢! 杰拉德试试这个: @if (setDiv) { <div class="@item.DivClass" id="@item.DivId"> } // More code more H

希望有条件地添加HTML(div)元素。但是,由于解析器混淆了end div(第一个结尾“}”不再是代码),因此从my Create.cshtml中提取的代码不起作用

@if(setDiv)
{
}
//更多代码更多HTML
if(setDiv)
{
}
有人知道如何解决这个问题吗?提前谢谢! 杰拉德试试这个:

@if (setDiv)
{
    <div class="@item.DivClass" id="@item.DivId">
}
// More code more HTML
@if (setDiv)
{
   @:</div>
}
@if(setDiv)
{
}
//更多代码更多HTML
@if(setDiv)
{
@:
}

您必须将开始和结束div封装在
@Html.Raw()
中。否则razor将不允许这种语法,因为它不知道在一个if语句中打开的div实际上在另一个if语句中关闭

@if (setDiv)
{
    @Html.Raw("<div class='@item.DivClass' id='@item.DivId'>")
}
// More code more HTML
@if (setDiv)
{
    @Html.Raw("</div>")
}
@if(setDiv)
{
@Html.Raw(“”)
}
//更多代码更多HTML
@if(setDiv)
{
@Html.Raw(“”)
}

现在类将变成text@item.DivClass等。更好的是位于.Html.Raw(“”)
@if (setDiv)
{
    @Html.Raw("<div class='@item.DivClass' id='@item.DivId'>")
}
// More code more HTML
@if (setDiv)
{
    @Html.Raw("</div>")
}