将Css样式应用于Asp:Menu MenuItem

时间:2010-09-27 14:53:09

标签: asp.net css menuitem aspmenu-control

我实际上是创建一个垂直面包屑来为移动(iphone)网站创建网站导航。类似于点击“英超联赛”时http://news.bbc.co.uk/sport1/hi/football/default.stm的工作原理

使用Asp:Menu控件和SiteMapDataSource我只绑定站点地图中的当前级别链接,然后找到他们的父级以手动插入列表顶部。导航导航的一个例子是: 关于, 我们是谁, 我们所做的, 位置

var mi = new MenuItem();
mi.NavigateUrl = node.Url;
mi.Text = node.Title;
mi.ToolTip = node.Description;

MobileMenu.Items.AddAt(0, mi);

这一切都很好并且完美无缺。但是,这个动态插入的顶级MenuItem需要以不同的背景颜色设置样式。在上面的例子中,“关于”的bg颜色比它下面的3个项目颜色更深。

但是MenuItem上没有任何明显的属性可以做到这一点。

如何在我插入位置0的MenuItem上动态设置样式?

1 个答案:

答案 0 :(得分:0)

在回答这个问题时,我使用jQuery li:nth-​​child()方法将一个类设置为li,之后我使用Page.ClientScript.RegisterStartupScript()。

private const string HighlightScript =
        "<script language=\"javascript\">\n" +
        "$(\"ul.top li:nth-child(4)\").addClass(\"menu-Fourth\");" +
        "</script>";

public void AddHighlightScript(string script, string name)
    {
        Page.ClientScript.RegisterStartupScript(GetType(), name, script);
    }

如果其他人有解决方案,请分享。