我正在尝试创建导航器以在某些页面上显示突出显示。我有以下内容:
<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>
我确定有一种更好的方法可以减少这种情况吗?有人可以帮助初学者吗?
由于 詹姆斯伍德利
答案 0 :(得分: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)
我希望你明白这个想法