2010-09-27 2 views
0

Я по существу создаю вертикальную палочку для создания навигации по сайту для мобильного (iphone) веб-сайта. Как и возможно, как http://news.bbc.co.uk/sport1/hi/football/default.stm работает, когда вы нажимаете «Премьер-лигу»Применение стиля Css для Asp: Menu MenuItem

Использование элемента управления 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 для этого.

Как я могу динамически установить стиль в MenuItem, который я вставляю в позицию 0?

+0

Это можно сделать с помощью javascript, получив первый элемент списка, а затем используя javascript для применения класса? – asn1981

ответ

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, любые другие варианты? –

Смежные вопросы