我正在尝试回答这个问题:
How to use ternary operator in razor (specifically on HTML attributes)?
带有一个 Html.ActionLink;像这样:
@(ViewData["page"] == "Page1" ? "Page1" : Html.ActionLink("Page 1", "Page1", "Index"))
这可能吗?
最佳答案
三元运算必须从两半返回相同的类型。
您正在返回 String
在左边,但是一个 IHtmlString
在右边。
将其更改为
@(ViewData["page"] == "Page1" ? Html.Raw("Page1") : Html.ActionLink(...))
您可能还想将其移动到 HTML 帮助程序扩展方法中。
关于asp.net-mvc-3 - 带有 HTML.ActionLink 的 ASP.NET MVC Razor 三元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5772174/