首页 文章

如何在cshtml中使用转义引号

提问于
浏览
1

如何在.cshtml文件中转义引号 . 我用的是razor mvc . 我在里面用fore

@for (int i = 1; i <= 4; i++)
{
    <div @(i == 1 ? "class=\"tab-pane active\"" : "class=tab-pane")>
    </div>
}

我使用斜线来逃避报价,但效果不佳 .

结果 <div class="&quot;tab-pane" active&quot;=""></div>

如果1为 <div class="tab-pane active"></div> ,我想要结果

2 回答

  • 2

    你真的应该插入/打印/编码你需要的东西,而不是试图逃避一切 . 也少了代码,你不必重复类..好和DRY .

    @for (int i = 1; i <= 4; i++)
    {
      var active = i == 1 ? "active" : string.Empty;
      <div class="tab-pane @active">
      </div>
    }
    

    而且它更具可读性和可维护性 .

    输出:

    <div class="tab-pane active">
      </div>
      <div class="tab-pane ">
      </div>
      <div class="tab-pane ">
      </div>
      <div class="tab-pane ">
      </div>
    
  • 2

    只需在 class 属性中使用三元运算符,无需重复两次:

    @for (int i = 1; i <= 4; i++)
    {
        <div class="@(i == 1 ? "tab-pane active" : "tab-pane")">
        </div>
    }
    

    参考:How to use ternary operator in razor (specifically on HTML attributes)?

相关问题