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

私の意見では、あなたが使用できる潜在的な同様のURLのエラーを避けるために

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 に答える