2012年7月3日火曜日

Site.Masterの選択中のタブStyle変更



VisualStudio 2010でWebアプリケーション プロジェクトを追加すると、Site.Masterによ
りタブでページ切り替えを行うテンプレートがコピーされます。
タブクリックでページを切り替えたあと、選択中のページのタブのスタイルを変更したく
なるのですが、なかなか思うようにいきませでした。次のようにすると変更できます。

SiteMaster.csにメソッド追加

protected void Page_Load(object sender, EventArgs e)
{
    NavigationMenu.Load += new EventHandler(NavigationMenu_Laod);
}

protected void NavigationMenu_Laod(object sender, EventArgs e)
{
    string requestUrl = Request.Url.Segments[Request.Url.Segments.Length - 1];
    foreach (MenuItem item in ((Menu)sender).Items)
    {
        if (item.NavigateUrl.EndsWith(requestUrl))
        {
            item.Selected = true;
            break;
        }
    }
}

SiteMaster.aspxにstyle追加

    <style type="text/css">
        div.menu ul li a.selected
        {
        background-color:LightYellow;
        color:Black;
        }
        /*disabledしたタブのstyle*/
        div.menu ul li a.aspNetDisabled
        {
        background-color:#CCCCCC;
        color:#777777;
        }
    </style>

0 件のコメント: