加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – DDR Treeview菜单显示选定的根及其子节点

发布时间:2020-12-16 03:48:45 所属栏目:asp.Net 来源:网络整理
导读:我正在为DotNetNuke的DDR Treeview菜单工作,只显示所选的Root项及其要扩展的子节点.这是我想要实现的目标. (左垂直菜单) 有什么建议吗? 这是xslt代码,目前显示所有根项. ?xml version="1.0" encoding="UTF-8"?xsl:stylesheet version="1.0" xmlns:xsl="http
我正在为DotNetNuke的DDR Treeview菜单工作,只显示所选的Root项及其要扩展的子节点.这是我想要实现的目标.
(左垂直菜单)
有什么建议吗?

这是xslt代码,目前显示所有根项.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:param name="ControlID" />
  <xsl:param name="Options" />
  <xsl:template match="/*">
    <xsl:apply-templates select="root" />
  </xsl:template>
  <xsl:template match="root">
    <xsl:if test="node">
      <ul class="treeview filetree" id="{$ControlID}">
        <xsl:apply-templates select="node" />
      </ul>
      <script type="text/javascript">
        jQuery(function($) {
          $("#<xsl:value-of select="$ControlID" />").treeview(
            <xsl:value-of select="$Options" disable-output-escaping="yes" />
          );
        });
      </script>
    </xsl:if>
  </xsl:template>
  <xsl:template match="node">
    <li>
      <xsl:if test="node and (@depth != 0 or @breadcrumb = 1)">
        <xsl:attribute name="class">open</xsl:attribute>
      </xsl:if>
      <xsl:choose>
        <xsl:when test="@enabled = 0">
          <xsl:value-of select="@text" />
        </xsl:when>
        <xsl:otherwise>
          <a href="{@url}">
            <xsl:choose>
              <xsl:when test="@selected=1">
                <xsl:attribute name="class">selected breadcrumb</xsl:attribute>
              </xsl:when>
              <xsl:when test="@breadcrumb=1">
                <xsl:attribute name="class">breadcrumb</xsl:attribute>
              </xsl:when>
            </xsl:choose>
            <xsl:value-of select="@text" />
          </a>
        </xsl:otherwise>
      </xsl:choose>
      <xsl:if test="node">
        <ul style="list-item-style:none">
          <xsl:apply-templates select="node" />
        </ul>
      </xsl:if>
    </li>
  </xsl:template>
</xsl:stylesheet>

解决方法

如果您只获取根项目,则需要更改为菜单定义的 NodeSelector.我相信RootChildren的速记值会给你你想要的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读