c# - ? : condition in Razor C#

标签 c# asp.net asp.net-mvc razor asp.net-mvc-5

我正在将一个旧网站迁移到 ASP.Net MVC 5,我有一个这样的链接:

<a href="/contact"><%=User.Identity.IsAuthenticated?"Support":"Contact Us"%></a> 

我用谷歌搜索并尝试了几件事,最后得到以下代码:

<a href="/contact">@if{User.Identity.IsAuthenticated){@Html.Raw("Support");}else{@HtmlRaw("Contact Us");}</a> 

但这似乎不是解决方案,因为它比第一个复杂得多,而 Razor 是为了简单而创建的

最佳答案

只需将您的三元表达式包装在 @() 中即可。

<a href="/contact">@(User.Identity.IsAuthenticated ? "Support" : "Contact Us")</a>

编辑:

如果您需要 HTML 元素,您可以将三元表达式包装在 @Html.Raw() 中。

@Html.Raw(User.Identity.IsAuthenticated ? "<div>Support</div>" : "Contact Us")

关于c# - ? : condition in Razor C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40593443/

相关文章:

c# - 显示 Windows 10 toast 通知

c# - 读取特定的 XML 节点

asp.net-mvc - 没有布局的 Razor View

c# - TreeView : checkboxes only in child nodes

c# - 我在哪里可以得到 NLog 提供的 "ambient properties"的列表?

c# - 在 asp.net c# 中为菜单项动态设置 NavigateUrl

javascript - window.location.replace() 不起作用

c# - 如何在 quartz.net 调度器中使用依赖注入(inject)

c# - 扩展 UserManager 以允许管理新用户数据?

ASP.NET Core MVC 健康检查失败