我使用XSLT构建了一个菜单。这就是我所做的
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/Menus">
<MenuItems>
<xsl:call-template name="MenuListing" />
</MenuItems>
</xsl:template>
<xsl:template name="MenuListing">
<xsl:apply-templates select="Menu" />
</xsl:template>
<xsl:template match="Menu">
<MenuItem>
<!-- Convert Menu child elements to MenuItem attributes -->
<xsl:attribute name="text">
<xsl:value-of select="text"/>
</xsl:attribute>
<xsl:attribute name="NavigateUrl">
<xsl:text>?Sel=</xsl:text>
<xsl:value-of select="Url"/>
</xsl:attribute>
<!-- Call MenuListing if there are child Menu nodes -->
<xsl:if test="count(Menu) > 0">
<xsl:call-template name="MenuListing" />
</xsl:if>
</MenuItem>
</xsl:template>
</xsl:stylesheet>
然后在Code Behind中我会说它:
if (Request.Params["Sel"] != null)
Response.Redirect(Request.Params["Sel"], false);
问题是我的网址是〜/ Default.aspx。那么navigateurl会做什么呢?它附加了?Sel =到default.aspx的结尾。但我需要转发到〜/ folder1.aspx(这种类型的东西)。可以帮助转发Url到〜/ folder1.aspx
我在数据库中有一个字段,比如Url,它有folder1.aspx ..如果我可以使用它,请告诉我。
答案 0 :(得分:0)
必须有一些JS或aspx代码,需要给出正确的答案。然而,如下所示给出绝对路径。
<xsl:text>/folder1.aspx?Sel=</xsl:text>