【问题标题】:Can I write an inline if with HTML content?如果包含 HTML 内容,我可以编写内联吗?
【发布时间】:2013-05-02 20:07:59
【问题描述】:

我想写这样的东西:

@( checkCondition ? "<span class='label'>Right!</span>" : "")

但它显示的是源代码而不是 HTML,有简单的方法吗?

谢谢!

【问题讨论】:

标签: asp.net-mvc razor inline-if


【解决方案1】:

您可以像这样使用@Html.Raw(mystring) 方法:

@( checkCondition ? Html.Raw("<span class='label'>Right!</span>") : Html.Raw(""))

【讨论】:

  • 谢谢,我试过了,但我在'System.Web.IHtmlString'和'string'之间得到了错误的隐式转换,看来我必须使用标准If来处理这种情况。
  • 对上述两个字符串使用Raw 方法。我已经编辑了我的答案。
【解决方案2】:

您可以更简洁(更难阅读):

@Html.Raw(checkCondition ? "<span class='label'>Right!</span>": string.Empty)

【讨论】:

    【解决方案3】:

    我们也可以这样做:

    @if (checkCondition ) { <text><span class='label'>Right!</span></text> }
    

    文本标签允许您编写带有语法突出显示的html!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      相关资源
      最近更新 更多