2012-04-14 12 views
1

特定のページにハイライトを表示するためにナビゲータを作成しようとしています。私は以下を持っています:MVC3剃刀コードスープ - テンプレート?

<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> 

私は確かにこれをよりスムーズにする良い方法がありますか?誰かが初心者を助けることができますか?潜在的な類似したURLのエラーを回避するために、私の意見で

おかげ ジェームズ・ウッドリー

答えて

0

私は

@Html.ActionLink("Request an Invite", "index", "registration", null, (controller = "Home" && action == "registration") ? new { @class = "active" } : null) 
インライン条件を使用します。あなたのコードを小さくするために、その後

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

を使用することができます

私はあなたがアイデアを得ることを願っています

+0

それは素晴らしいです - ありがとう! –

関連する問題