0

ファイルのツリービューがあり、それらのファイルを別のページからダウンロードする必要があります。したがって、NavigateUrl をダウンロードページに設定していますが、現在のページのパスとダウンロードページのパスを取得しています。

foreach (FileInfo file in currentDir.GetFiles())
            {
                TreeNode nodeFile = new TreeNode(file.Name, file.FullName);
                nodeFile.NavigateUrl = "_layouts/Download.aspx?file="+file.FullName;
                nodeFile.Target = "_blank";
                nodeFile.ImageUrl = "_layouts/images/DOC_SP16.gif";
                currentNode.ChildNodes.Add(nodeFile);
            }

ノードをクリックすると、移動先になります

http://localhost/_CONTROLTEMPLATES/MyLib/_layouts/Download.aspx?file=c:Somefile.txt

しかし、私が欲しいのは、このようなルート URL へのパスです。

http://localhost/_layouts/Download.aspx?file=ownload.aspx?file=c:Somefile.txt

download.aspx をその場所に移動したくありません。誰かがこれに対する良い解決策を得ましたか?

4

2 に答える 2

0

私が探していたシンプルな魂を見つけました

nodeFile.NavigateUrl = "_layouts/Download.aspx?file="+file.FullName;

パスの先頭に「/」を入れます

nodeFile.NavigateUrl = "/_layouts/Download.aspx?file="+file.FullName;
于 2013-07-23T12:21:35.100 に答える