Применение стиля Css к Asp: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 должен быть стилизован в другом цвете фона. В приведенном выше примере "About" будет иметь более темный цвет bg, чем 3 элемента под ним.

Но нет никакого очевидного свойства на MenuItem, чтобы сделать это.

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

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

Если у кого-то есть решение, пожалуйста, поделитесь.

Другие вопросы по тегам