asp.net MVC 4 - MVC 4 如何<div>有条件地添加元素



想要有条件地添加HTML (div)元素。但代码导出从我的创建。CSHTML不能工作,因为解析器混淆了end-div(第一个结束的"}"不再是代码)

@if (setDiv)
{
    <div class="@item.DivClass" id="@item.DivId">
}
// More code more HTML
if (setDiv)
{
    </div>
}
谁知道如何解决这个问题?提前感谢!杰拉德

您必须在@Html.Raw()中封装您的开始和结束div。否则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)
{
    <div class="@item.DivClass" id="@item.DivId">
}
// More code more HTML
@if (setDiv)
{
   @:</div>
}

最新更新