如何在Razor页面按条件显示语义元素?图标显示为字符串问题求助
解决方案
你的问题是Razor默认会对输出的字符串进行HTML编码,导致<i>标签被当成纯文本显示,而非渲染成图标。只需用Html.Raw()方法包裹变量,告诉Razor直接渲染HTML内容即可:
修改后的代码:
@{ string successIcon = "<i class='fas fa-check-circle' style='color: #3fd421;'></i>"; string failedIcon = "<i class='fas fa-times-circle' style='color: #e63737;'></i>"; } <td class="lft">@Html.Raw(UserAccessHealth.Contains("Healthy") ? failedIcon : successIcon) UserAccess:</td>
说明
Html.Raw()会跳过Razor的HTML编码逻辑,直接将字符串作为HTML内容输出,这样浏览器就能正确解析Font Awesome的<i>标签,显示对应的图标。- 需确保页面已引入Font Awesome的CSS文件,否则图标无法正常加载。
内容的提问来源于stack exchange,提问作者Manasseh Ziki
相关产品推荐
相关产品推荐

