如果父列表项有子项,如何将类添加到链接?

时间:2014-04-13 05:22:16

标签: asp.net kentico

我正在使用&#34; Universal viewer&#34;在Kentico 6中构建Bootstrap菜单。 webpart和层次转换。到目前为止,我完成了结构,但我无法弄清楚如何添加&#34;下拉菜单&#34;当他的父母<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转换实现这一目标?

1 个答案:

答案 0 :(得分:2)

如果在某些子节点的情况下始终存在下拉列表,则可以使用NodeChildNodesCount值。

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

如果存在某些其他条件(如文档类型),则需要检索该特定条件的子节点数。您可以通过文档API,辅助类或直接在ASCX转换中实现它。寻找TreeProvider类。请注意,这可能是性能密集型操作。我还会考虑通过javascript在客户端添加那些下拉类。