【问题标题】:printing static message inside foreach loop在 foreach 循环中打印静态消息
【发布时间】:2020-11-25 12:07:30
【问题描述】:

我正在尝试在 foreach 循环部分打印静态消息,但没有收到任何显示消息。

@foreach (var item in Model) {
    <tr>       
        <td>
            @*@Html.DisplayFor(modelItem => item.Status)*@
            @if (item.Status == 1)
            {
                @Html.Display("active")
            }
            else if (item.Status == 2)
            {
                @Html.Display("inactive")
            }
        </td>
    </tr>
}
    
    

我没有打印Status 值,而是尝试按上述方式打印。但在Status 列下,我没有收到任何消息。

【问题讨论】:

  • Status 是 int 还是 bool?
  • @Html.Display 需要对象和属性形式的数据。就像@Html.Display(item.status)。此剃须刀助手不适用于字符串的静态值。

标签: asp.net-mvc asp.net-core asp.net-mvc-4


【解决方案1】:

您可以使用@Html.Raw 或特殊的Razor 标签&lt;text&gt;

以下是如何使用它们的示例:

 <td>
      @*@Html.DisplayFor(modelItem => item.Status)*@
      @if (item.Status == 1)
      {
          @Html.Raw("active")
      }
      else if (item.Status == 2)
      {
          <text>inactive</text>
      }
 </td>

【讨论】:

    【解决方案2】:

    我假设状态是一个整数

    改为这样做:

    @foreach (var item in Model) {
    <tr>       
        <td>
            @if (item.Status == 1)
            {
                <span>Active</span>
            }
            else
            {
                <span>InActive</span>
            }
        </td>
    </tr>
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 2018-03-20
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多