2011-08-12 16 views
0

私はXSLTを使用してメニューを構築しました。これは私がXSLTを使用したNavigateUrl

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

し、コードで、私はそれをCALう後ろにやったことです:

if (Request.Params["Sel"] != null) 
    Response.Redirect(Request.Params["Sel"], false); 

問題は私のURLは〜/ Default.aspxのであるということです。では、navigateurlはdefault.aspxの最後に?Sel =を追加します。しかし、私は〜/ folder1.aspx(この種のもの)に転送する必要があります.URLを〜/ folder1.aspxに転送することができます

私は、folder1.aspxを持つURLのようなdatabseのフィールドを持っています。私がそれを使うことができるかどうか教えてください。

答えて

0

JSまたはaspxコードが必要です。適切な回答が必要です。しかし、以下のように絶対パスを与えるのはどうですか?

<xsl:text>/folder1.aspx?Sel=</xsl:text> 
+0

私は私がこのようにfolder1.aspxでそれを保存(またはフォルダ/ folder2.aspx Url.Butと呼ばれるデータベース内のフィールドを持っている。SO、U iは、そのデータベースのフィールドを使用することができるなら、私に知らせてできますか? – user838359

+0

URLを絶対パスにするためのURL url(Dr ["urlfield"]。ToString()+ Request.Params ["Sel"]、false); – hungryMind

関連する問題