我正在将一个旧网站迁移到 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/