2012-06-26 4 views
0

나는 잠시 동안 asp.menu 컨트롤을 스타일링하는 방법을 찾으려고 노력해 왔습니다. 스타일 설정을위한 속성이 작동하지 않아서 (예 : StaticMenuItemStyle-CssClass = "SOMECLASS") 온라인 예제가 도움이되지 않았습니다. 그래서 프로그래밍 방식으로 할 수있는 방법이 있기를 바랬습니다. 도와주세요.MenuItemDataBound의 MenuItem에서 CSS를 설정하는 방법

protected void Menu_MenuItemDataBound(object sender, MenuEventArgs e) 
{ 
    if (e.Item.NavigateUrl.Trim() == _currentUrl.Trim()) 
    { 
     // Something like this 
     e.Item.CssClass = "SOMECLASS"; 
    } 
} 

편집 는 내 사이트 탐색을 위해 주위에 작업을 완료했습니다. ASP.NET 메뉴 스타일 속성을 사용하는 방법이 있다면 알려주십시오!

e.Item.Selected = true; 

을 선택하여 설정 한

protected void Menu_MenuItemDataBound(object sender, MenuEventArgs e) 
{ 
    MenuItem menuitem = (MenuItem)e.Item; 
    if (menuitem.NavigateUrl.Trim() == _currentUrl.Trim()) 
    { 
     if (menuitem.Depth == 1) 
     { 
      menuitem.Text = "<span class=\"active" + menuitem.Depth + " selectedlevel1\">" + menuitem.Text + "</span>"; 
     } 
     else 
     { 
      menuitem.Text = "<span class=\"active" + menuitem.Depth + " selectedlevel2\">" + menuitem.Text + "</span>"; 
     } 
     while (menuitem.Parent != null) 
     { 
      menuitem = menuitem.Parent; 
      String title = menuitem.Text; 
      title = title.Replace("<span>", ""); 
      title = title.Replace("</span>", ""); 
      menuitem.Text = "<span class=\"active" + menuitem.Depth + "\">" + title + "</span>"; 
     } 
    } 
    else 
    { 
     menuitem.Text = "<span>" + menuitem.Text + "</span>"; 
    } 
} 

답변

0

당신은 항목을 표시해야합니다 "SOMECLASS"

편집

로 (귀하의 경우에 적용되는 하나 솔직히 잘 모르겠 및/또는 StaticSelectedStyle-CssClass) DynamicSelectedStyle-CssClass

Menu 컨트롤에 문제가있는 것 같습니다. 선택된 클래스. This other question은 도움이 될 수있는 시나리오에 대한 대안을 제시합니다.

+0

이것은 작동하지 않습니다. Selected가 렌더링되지 않습니다. – Anna

+0

@Anna : 선택한 것은 렌더링되지 않지만 선택된 CSS 클래스는 설정되어야합니다. –

+0

그게 바로, 선택한 클래스가 설정되지 않은 것입니다. – Anna

관련 문제