Pergunta

Estou construindo o menu Bootstrap no Kentico 6 usando a webpart "Visualizador universal" e transformações hierárquicas.Até agora eu terminei a estrutura, mas não consigo descobrir como adicionar a classe "menu suspenso" a um link quando seu pai <li> tem filhos.

Este é o código que estou gerando agora:

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

E estou tentando conseguir isso:

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

Classe e dados devem ser adicionados somente se o pai <li> tem <ul> embutido dentro.

Devo usar a transformação macro ou existe uma maneira de conseguir isso com a transformação ascx?

Foi útil?

Solução

Se sempre houver um menu suspenso no caso de alguns nós filhos, você poderá usar NodeChildNodesCount valor.

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

Se houver algumas condições adicionais, como tipo de documento, será necessário recuperar o número de nós filhos para essas condições específicas.Você pode conseguir isso através da API do documento, em uma classe auxiliar ou diretamente na transformação ASCX.Procure a classe TreeProvider.Observe que esta pode ser uma operação com uso intensivo de desempenho.Eu também consideraria adicionar essas classes suspensas no lado do cliente por javascript.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top