0

しばらくの間、asp.menu コントロールのスタイルを設定する方法を見つけようとしています。スタイルを設定するための属性が機能しないため (つまり、StaticMenuItemStyle-CssClass="SOMECLASS")、オンラインの例の多くは役に立ちませんでした。それで、プログラムでそれを行う方法があることを望んでいましたか?助けてください。

protected void Menu_MenuItemDataBound(object sender, MenuEventArgs e)
{
    if (e.Item.NavigateUrl.Trim() == _currentUrl.Trim())
    {
        // Something like this
        e.Item.CssClass = "SOMECLASS";
    }
}

編集 サイト ナビゲーションの回避策を実行しました。ASP.NET メニュー スタイル属性を使用する方法があれば教えてください。

protected void Menu_MenuItemDataBound(object sender, MenuEventArgs e)
{
    MenuItem menuitem = (MenuItem)e.Item;
    if (menuitem.NavigateUrl.Trim() == _currentUrl.Trim())
    {
        if (menuitem.Depth == 1)
        {
            menuitem.Text = "<span class=\"active" + menuitem.Depth + " selectedlevel1\">" + menuitem.Text + "</span>";
        }
        else
        {
            menuitem.Text = "<span class=\"active" + menuitem.Depth + " selectedlevel2\">" + menuitem.Text + "</span>";
        }
        while (menuitem.Parent != null)
        {
            menuitem = menuitem.Parent;
            String title = menuitem.Text;
            title = title.Replace("<span>", "");
            title = title.Replace("</span>", "");
            menuitem.Text = "<span class=\"active" + menuitem.Depth + "\">" + title + "</span>";
        }
    }
    else
    {
        menuitem.Text = "<span>" + menuitem.Text + "</span>";
    }
}
4

1 に答える 1

0

アイテムを選択済みとしてマークする必要があります

e.Item.Selected = true;

そして、DynamicSelectedStyle-CssClass(および/またはStaticSelectedStyle-CssClass、正直なところ、どちらがあなたのケースに当てはまるかわかりません)を設定します"SOMECLASS"

編集

問題Menu制御と選択クラスがあるようです。この他の質問は、あなたに役立つ可能性のあるシナリオの回避策を示しています。

于 2012-06-26T15:55:02.413 に答える