2010-09-27 98 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