0

我实际上是在创建一个垂直面包屑来为移动 (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 需要以不同的背景颜色设置样式。在上面的示例中,“关于”的背景颜色将比它下面的 3 个项目更暗。

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

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

4

1 回答 1

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);
    }

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

于 2010-09-29T08:35:05.790 回答