2011-09-26 15 views
2

私のウェブサイトプロジェクトでは、私はASP.NET MVC "Razor"を使用しています。私が行くように学ぶ。選択したメニュー項目をページ間で変更する

私は自分のサイトに5ページまたは6ページ、もう1ページには別のサイトを持っています。ユーザーが同じサイトをすべて使用しているように感じるようにします。

レイアウトにXHTML順不同リストとCSSを使用した標準パターンは以下のページのための一般的なHTMLのメニューがあります:私は人々がしたかった鉱山、との質問には類似した

他の場所SO上
<ul id="menu"> 
    <li class="selected"><a href="@Href("~/")">Home</a></li> 
    <li><a href="http://ceklog.kindel.com">cek.log</a></li> 
    <li><a href="@Href("~/Services")">Services</a></li> 
    <li><a href="@Href("~/Charlie")">Charlie's Stuff</a></li> 
    <li><a href="@Href("~/Contact.cshtml")">Contact</a></li> 
</ul> 

は、選択したメニュー項目を追跡しますが、動的ページ内で追跡します。例えば:私の場合には、ユーザーが1つのページ上の選択を変更されていませんが、完全に別のページに移動するため

Javascript Changing the selected Menu items class

しかし、このアプローチは、私の場合には動作しません。

どうすればいいですか?

答えて

1

...私はそれを理解しました。

これをサーバー側で実装するためにRazorを使用しました。

最初に私は私の_SiteLayout.cshtmlページ(すべてのページが使用テンプレート)に機能を実装:

@functions { 
    public string Selected(string PageTitle) { 
     if (Page.Title == PageTitle) 
      return "selected"; 
     else 
      return ""; 
    } 
} 

それから私は私のリストにこの機能を使用:

<ul id="menu"> 
    <li class="@Selected("Home")"><a href="@Href("~/")">Home</a></li> 
    <li class="@Selected("cek.log")"><a href="http://ceklog.kindel.com">cek.log</a></li> 
    <li class="@Selected("Services")"><a href="@Href("~/Services")">Services</a></li> 
    <li class="@Selected("Charlie's Stuff")"><a href="@Href("~/Charlie")">Charlie's Stuff</a></li> 
    <li class="@Selected("Contact")"><a href="@Href("~/Contact.cshtml")">Contact</a></li> 
</ul> 
を完璧に動作

。私の外部ページでは、それはWordpressに基づいていて、Razorに基づいていないので、手作業でコード化しました。

関連する問題