如何在 MenuItemDataBound 中的 MenuItem 上设置 CSS



我一直在尝试找到一种方法来设置 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>";
    }
}

您应该将项目标记为选中

e.Item.Selected = true;

并设置DynamicSelectedStyle-CssClass(和/或StaticSelectedStyle-CssClass,老实说不确定哪一个适用于您的情况)与"SOMECLASS"

编辑

似乎Menu控制和选择类存在问题。另一个问题为您的方案提供了一种可能对您有所帮助的解决方法。

相关内容

  • 没有找到相关文章

最新更新