1

我正在尝试创建我的导航器以在某些页面上显示突出显示。我有以下内容:

<li>
    @if (Request.Url.AbsoluteUri.ToLowerInvariant().Contains("registration"))
    {
        @Html.ActionLink("Request an Invite", "index", "registration", null, new { @class = "active" })
    }
    else
    {
        @Html.ActionLink("Request an Invite", "index", "registration")
    }
</li>
<li>
    @if (Request.Url.AbsoluteUri.ToLowerInvariant().Contains("login"))
    {
        @Html.ActionLink("Login", "index", "login", null, new { @class = "active" })
    }
    else
    {
        @Html.ActionLink("Login", "index", "login")
    }
</li>

我确定有更好的方法可以减少这种汤汁?有人可以帮助初学者吗?

谢谢詹姆斯伍德利

4

1 回答 1

0

在我看来,为了避免潜在的类似网址出错,您可以使用

var contorller = @ViewContext.RouteData.Values["controller"]
var action = @ViewContext.RouteData.Values["action"]

然后为了使您的代码更小,我将使用内联条件

@Html.ActionLink("Request an Invite", "index", "registration", null, (controller = "Home" && action == "registration") ? new { @class = "active" } : null)

我希望你能明白

于 2012-04-14T15:55:28.213 回答