Применение стиля 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);
}
Если у кого-то есть решение, пожалуйста, поделитесь.