【问题标题】:Applying Css Style to Asp:Menu MenuItem将 Css 样式应用于 Asp:Menu MenuItem
【发布时间】:2010-09-27 14:53:09
【问题描述】:

我本质上是在创建一个垂直面包屑导航来为移动 (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 的样式?

【问题讨论】:

  • 这可以用javascript来完成吗,通过获取列表的第一项,然后使用javascript来应用一个类??

标签: asp.net css menuitem aspmenu-control


【解决方案1】:

为了回答这个问题,我使用 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);
    }

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

【讨论】:

  • 正在寻找相同问题的解决方案 - 不想使用 javascript,还有其他选择吗?
猜你喜欢
  • 2013-12-11
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 2015-06-22
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多