상위 목록 항목에 하위 항목이 있는 경우 링크에 클래스를 추가하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/23039416

  •  21-12-2019
  •  | 
  •  

문제

저는 "유니버설 뷰어" 웹 파트와 계층적 변환을 사용하여 Kentico 6에서 부트스트랩 메뉴를 구축하고 있습니다.지금까지 구조를 완료했지만 부모가 링크에 "드롭다운 메뉴" 클래스를 추가하는 방법을 알 수 없습니다. <li> 자녀가 있습니다.

지금 생성 중인 코드는 다음과 같습니다.

<ul class="nav navbar-nav">
  <li>
    <a href="#">Some link</a>
    <ul>...</ul>
  </li>
</ul>

그리고 나는 이것을 달성하려고 노력하고 있습니다 :

<ul class="nav navbar-nav">
  <li>
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Some link</a>
    <ul>...</ul>
  </li>
</ul>

클래스와 데이터는 부모인 경우에만 추가해야 합니다. <li> 가지다 <ul> 내부에 내장되어 있습니다.

매크로 변환을 사용해야 합니까, 아니면 ascx 변환을 사용하여 이를 달성할 수 있는 방법이 있습니까?

도움이 되었습니까?

해결책

일부 하위 노드의 경우 항상 드롭다운이 있는 경우 사용할 수 있습니다. NodeChildNodesCount 값.

<a href="#" <%# ((int)Eval("NodeChildNodesCount") > 0) ? "class=\"dropdown-toggle\" data-toggle=\"dropdown\"" : "" %>>Some link</a>

문서 유형과 같은 추가 조건이 있는 경우 해당 특정 조건에 대한 하위 노드 수를 검색해야 합니다.문서 API, 도우미 클래스 또는 ASCX 변환을 통해 직접 달성할 수 있습니다.TreeProvider 클래스를 찾으세요.이는 성능 집약적인 작업일 수 있습니다.또한 클라이언트측에 자바스크립트로 드롭다운 클래스를 추가하는 것도 고려해 보겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top