将 CSS 样式应用到 Asp:Menu MenuItem
我本质上是在创建一个垂直面包屑来为移动(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 上动态设置样式?
I'm essentially creating a vertical breadcrumb to create a website navigation for a mobile (iphone) website. Similar to maybe how http://news.bbc.co.uk/sport1/hi/football/default.stm works as you click into "Premier League"
Using the Asp:Menu control and a SiteMapDataSource I am binding only the current levels links within the sitemap and then finding their parent to manually insert at the top of the list. An example resulting nav would be:
About,
Who Are We,
What We Do,
Locations
var mi = new MenuItem();
mi.NavigateUrl = node.Url;
mi.Text = node.Title;
mi.ToolTip = node.Description;
MobileMenu.Items.AddAt(0, mi);
This is all fine and works perfectly. However, this dynamically inserted top MenuItem needs to be styled in a different background colour. In the example above "About" would have a darker bg colour than the 3 items below it.
But there isn't any kind of obvious property on the MenuItem to do this.
How could I dynamically set a style on the MenuItem that I am inserting into position 0?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了回答这个问题,我使用 jQuery li:nth-child() 方法将一个类设置为 li,然后使用 Page.ClientScript.RegisterStartupScript()。
如果其他人有解决方案,请分享。
In answer to this I used the jQuery li:nth-child() method to set a class to the li after which I then use Page.ClientScript.RegisterStartupScript().
If someone else has a solution please share.