2010-09-27 52 views
0

我基本上是创建一个垂直面包屑来创建移动(iphone)网站的网站导航。菜单控制和SiteMapDataSource时,我唯一有约束力的网站地图内的当前水平链接,然后找到他们的父母在顶部手动插入:对,也许如何http://news.bbc.co.uk/sport1/hi/football/default.stm作品你点击进入“超级联赛”将CSS样式应用于Asp:菜单MenuItem

使用ASP的相似列表。一个例子产生的资产净值将是: 关于, 我们是谁, 我们做什么, 位置

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

MobileMenu.Items.AddAt(0, mi); 

这是一切优秀和完美的作品。但是,这个动态插入的顶部MenuItem需要使用不同的背景色进行样式设置。在上面的例子中,“About”的颜色比它下面的3个颜色的颜色更深。

但是MenuItem没有任何一种明显的属性来做到这一点。

我怎样才能动态地在我插入到位置0的MenuItem上设置样式?

+0

这可以用JavaScript来完成,通过获取列表的第一个项目,然后使用JavaScript来申请一个类? – asn1981 2010-09-27 15:21:16

回答

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

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

+0

正在寻找解决相同问题的解决方案 - 不想使用JavaScript,任何其他选项? – 2010-10-05 06:38:40