ASP.NET if语句创建div

时间:2013-05-22 03:53:56

标签: html asp.net xslt if-statement conditional-statements

我有一个侧边栏菜单,可以在li中创建div。

我遇到的问题是,如果菜单中的项目处于活动状态,则不应在其之前创建非活动div。即:它应该只有<li><div></div></li>,而不是<li><div></div><div></div></li>

      <xsl:if test="number(ParentEntityID) = 0 and EntityID!=$pCatID">
        <div class="inactive">
          <!--<a href="{concat('c-',EntityID,'-',SEName,'.aspx')}" style="color:black">-->
          <xsl:choose>
            <xsl:when test="count(child::Entity)=0">

              <a href="{concat('c-',EntityID,'-',SEName,'.aspx')}" style="color:black">
                <xsl:value-of select="$eName"/>
              </a>
            </xsl:when>
            <xsl:otherwise>
              <xsl:choose>
                <xsl:when test="EntityID=$ParentCategoryID">
                  <div class="active">
                    <xsl:value-of select="$eName"/>
                  </div>
                </xsl:when>
                <xsl:otherwise>
                  <xsl:value-of select="$eName"/>
                </xsl:otherwise>
              </xsl:choose>
            </xsl:otherwise>
          </xsl:choose>

          <!--</a>-->
        </div>
      </xsl:if>

输出:

<li>
  **<div class="inactive">**
    <div class="active">
    Active item
  **</div>**
  </div>
</li>
<li>
  <div class="inactive">
  Inactive item
  </div>
</li>

上述代码中必须更改哪些内容,以便不在活动div之外创建非活动div,并且只应在不活动的位置创建?我把线放在不应该存在的**中。

我知道这与正确安排test="EntityID=$ParentCategoryID"if声明有关,但却无法弄明白。

1 个答案:

答案 0 :(得分:0)

这个版本怎么样?

  <xsl:if test="number(ParentEntityID) = 0 and EntityID!=$pCatID">
      <xsl:choose>
        <xsl:when test="count(child::Entity)=0">
          <a href="{concat('c-',EntityID,'-',SEName,'.aspx')}" style="color:black">
            <xsl:value-of select="$eName"/>
          </a>
        </xsl:when>
        <xsl:otherwise>
          <xsl:choose>
            <xsl:when test="EntityID=$ParentCategoryID">
              <div class="active">
                <xsl:value-of select="$eName"/>
              </div>
            </xsl:when>
            <xsl:otherwise>
              <div class="inactive">
              <xsl:value-of select="$eName"/>
               </div>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:otherwise>
      </xsl:choose>
  </xsl:if>