親リスト項目に子供がいる場合は、リンクにクラスを追加する方法

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

  •  21-12-2019
  •  | 
  •  

質問

Kentico 6でBootstrapメニューを構築しています。「Universal Viewer」WebPartと階層変換を使用しています。これまでのところ、私は構造をしましたが、彼の親<li>に子供がいるときにリンクに "dropdown-menu"クラスを追加する方法を見つけることができません。

これは私が生成しているコードです:

<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>
.

クラスとデータは、Parent <li><ul>が内蔵されている場合にのみ追加する必要があります。

マクロ変換を使用するか、ASCX変換を使用してこれを実現する方法はありますか?

役に立ちましたか?

解決

常にいくつかの子ノードの場合にドロップダウンがある場合は、NodeChildNodesCount値を使用できます。

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

文書タイプのような追加の条件がある場合は、その特定の条件に対して子ノードの数を取得する必要があります。文書APIを通して、ヘルパークラスまたは直接ASCX変換でそれを達成することができます。TreeProviderクラスを探します。これはパフォーマンスの集中的な操作かもしれません。また、JavaScriptによってクライアント側にそれらのドロップダウンクラスを追加することも検討します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top