【问题标题】:How do I conditionally output HTML with Razor syntax? [duplicate]如何使用 Razor 语法有条件地输出 HTML? [复制]
【发布时间】:2016-05-15 17:11:53
【问题描述】:

我想做的很简单:

<td class="bold-and-caps">@{if (++i == 1) { subsec.Title } else { String.Empty } } </td>

除了我得到了

"只有赋值、调用、递增、递减、等待和新建对象 表达式可以用作语句”

subsec.TitleString.Empty 上。

我应该如何在 Razor 中编写“如果条件,输出 X”类型的语句?

【问题讨论】:

  • @if 的正确语法显示在链接的duplicate 以及替代条件运算符语法中。

标签: c# html asp.net asp.net-mvc razor


【解决方案1】:

你可以通过这样的代码来做到这一点:

<td class="bold-and-caps">
    @if (++i == 1)
        { @subsec.Title }
    else
        { <text>@string.Empty</text> }
</td>

但在您的情况下,当您只想显示某些内容时,您不必使用 else 和空字符串...

<td class="bold-and-caps">@if(++i == 1){ @subsec.Title }<td>

【讨论】:

  • 这与问题中提供的无效代码完全相同。解释您认为不同的原因可能会有所帮助。
  • 不一样,但是无效,我已经修好了:)
【解决方案2】:

您可以使用三元运算符,例如:

<td class="bold-and-caps">@( (++i == 1) ? subsec.Title : String.Empty)</td>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 2013-05-30
    • 2013-08-29
    • 2015-08-16
    • 1970-01-01
    • 2019-12-20
    • 2023-01-13
    • 2017-03-22
    相关资源
    最近更新 更多