Asp.net mvc 3 ASP.NET MVC与HTML.ActionLink

Asp.net mvc 3 ASP.NET MVC与HTML.ActionLink,asp.net-mvc-3,razor,ternary-operator,Asp.net Mvc 3,Razor,Ternary Operator,我试图回答这个问题: 使用Html.ActionLink;大概是这样的: @(ViewData["page"] == "Page1" ? "Page1" : Html.ActionLink("Page 1", "Page1", "Index")) 这可能吗?三元操作必须从两半返回相同类型。 您将在左侧返回一个字符串,但在右侧返回一个IHtmlString 换成 @(ViewData["page"] == "Page1" ? Html.Raw("Page1") : Html.ActionLin

我试图回答这个问题:

使用Html.ActionLink;大概是这样的:

@(ViewData["page"] == "Page1" ? "Page1" : Html.ActionLink("Page 1", "Page1", "Index"))

这可能吗?

三元操作必须从两半返回相同类型。
您将在左侧返回一个
字符串
,但在右侧返回一个
IHtmlString

换成

@(ViewData["page"] == "Page1" ? Html.Raw("Page1") : Html.ActionLink(...))
您可能还希望将其移动到HTML助手扩展方法中