C#Make Tree Node文本可下载链接

时间:2018-05-15 10:06:20

标签: c# url tree ext.net

以下是我用来构建树的代码:

来自Nick Saxelby

link

<script runat="server">
    protected void NodeLoad(object sender, NodeLoadEventArgs e)
    {
        // NodeID stores the local disk path ( full path ) of the selected node to expand
        string path = e.NodeID;

        if (!string.IsNullOrEmpty(e.NodeID))
        {
            foreach(var folder in System.IO.Directory.GetDirectories(path))
            {
                string folderName = new System.IO.DirectoryInfo(folder).Name;
                Node folderNode = new Node();
                folderNode.Text = folderName;
                folderNode.NodeID = folder;
                e.Nodes.Add(folderNode);
            }

            foreach(var fileLeaf in System.IO.Directory.GetFiles(path))
            {
                Node treeNode = new Node();
                treeNode.Text = System.IO.Path.GetFileName(fileLeaf);
                treeNode.NodeID = fileLeaf;
                treeNode.Leaf = true;
                e.Nodes.Add(treeNode);
            }
        }
    }
</script>

如何将TreeNode文本设为可下载的url,以便用户可以下载特定文件?

1 个答案:

答案 0 :(得分:1)

要在节点上设置链接,请将treeNode.Href设置为URL。

如果这些文件已经在您的网站上与此页面一起托管,我猜你知道他们的网址。

例如,可以在C:\inetpub\wwwroot\Files\Directory\MyFile.txt

找到http://example.com/Files/Directory/MyFile.txt等本地文件

在这种情况下,您需要找出该URL。我为&#34; resituating&#34;做了一个工具。本地文件路径进入Web路径,它是一个名为PathMatcher的NuGet包(在文档中向下滚动到&#39; PathMatcher.Resituate&#39;部分作为示例)