Ash*_*ani 1 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>
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并尝试了几件事,最终得到了以下代码:
<a href="/contact">@if{User.Identity.IsAuthenticated){@Html.Raw("Support");}else{@HtmlRaw("Contact Us");}</a>
Run Code Online (Sandbox Code Playgroud)
但这似乎不是解决方案,因为它比第一个复杂得多,而 Razor 是为了简单而创建的
只需将您的三元表达式包装起来就@()可以了。
<a href="/contact">@(User.Identity.IsAuthenticated ? "Support" : "Contact Us")</a>
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您需要 HTML 元素,您可以将三元表达式包装在@Html.Raw().
IE
@Html.Raw(User.Identity.IsAuthenticated ? "<div>Support</div>" : "Contact Us")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |