2011-07-25 10 views
1

私はそれを押した後、MenuItemについては選択されていない(強調表示されていない)のはなぜですか?メニュー項目を押してそのページを開いた後にメニュー項目が選択されないのはなぜですか?

これは、ASP.Net Webアプリケーションのデフォルトテンプレートです。準備が整っているのですか、それとも自分自身で実装する必要がありますか?

enter image description here

CSS:

/* TAB MENU 
----------------------------------------------------------*/ 
div.hideSkiplink 
{ 
    background-color:#3a4f63; 
    width:100%; 
} 

div.menu 
{ 
    padding: 4px 0px 4px 8px; 
} 

div.menu ul 
{ 
    list-style: none; 
    margin: 0px; 
    padding: 0px; 
    width: auto; 
} 

div.menu ul li a, div.menu ul li a:visited 
{ 
    background-color: #465c71; 
    border: 1px #4e667d solid; 
    color: #dde4ec; 
    display: block; 
    line-height: 1.35em; 
    padding: 4px 20px; 
    text-decoration: none; 
    white-space: nowrap; 
} 

div.menu ul li a:hover 
{ 
    background-color: #bfcbd6; 
    color: #465c71; 
    text-decoration: none; 
} 

div.menu ul li a:active 
{ 
    background-color: #465c71; 
    color: #cfdbe6; 
    text-decoration: none; 
} 
+0

cssを編集すると簡単に修正できないはずですか?これらのボタンのCSSをここに投稿できますか? – bogatyrjov

+0

私はCSSを追加しましたが、私はそれがCSSによって行われるとは思わない。私はそれがいくつかのコードが必要と思う。 –

+0

CSSをお寄せいただきありがとうございます...あなたはそれを押したときに "ホーム"メニュー項目がハイライト表示されていますか? – bogatyrjov

答えて

0

あなたはサイトマップとサイトマップのデータソースを使用していますか?私の知る限りでは、リスト項目に「選択された」クラスを自動的に挿入する必要があります。

その後、次のCSSルールを使用して、選択したメニュー項目のスタイルを設定します。

#mainmenu ul li a.selected { 
    background-color: Yellow; 
} 
3

私はしばらくの間、この非常に項目に苦労し、バニラASP.NETソリューションは、我々は必要なものをサポートしていませんでした理由を疑問に思っています。いくつかの実験の後、私はバニラの解決策で2つのファイルを変更するこの修正を思いついた。

Styles/Site.cssファイルを変更して定義を追加し、別のものを修正する。 )この意志を

div.menu ul li a 

2:

div.menu ul li .selected 
{ 
    background-color: #bfcbd6; 
    color: #465c71; 
    text-decoration: none; 
} 

b)は、このラインに変化が訪れディレクティブを削除します:この1に

div.menu ul li a, div.menu ul li a:visited 

を a)のメニューセクションで、これを追加選択されたメニュー項目を強調表示された色で表示します。ただし、選択された項目はページコールバックシーケンスで何とかクリアされます。今、ちょうどあなたに、このメソッドを追加

private void HighlightSelectedMenuItem() 
{ 
    string MyURL = Request.Url.AbsoluteUri; 
    foreach (MenuItem mi in NavigationMenu.Items) 
    { 
     string mytest = System.IO.Path.GetFileName(mi.NavigateUrl); 
     if (MyURL.Contains(mytest)) 
     { 
      mi.Selected = true; 
     } 
    } 
} 

:この問題を回避するために、私は基本的に私たちが見ているURLが含まれているタブを選択し、Site.Master.csファイルにこの変更を行いましたPage_Loadメソッドを実行すると完了です。

関連する問題