C# 使树节点文本可下载 link
C# Make Tree Node text downloadable link
这是我用来构建树的代码:
来自 Nick Saxelby
<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
以便用户可以下载特定文件?
要在节点上设置 link,请将 treeNode.Href
设置为 URL。
如果文件已与此页面一起托管在您的网站上,我想您知道他们的 URLs。
例如,可以在 http://example.com/Files/Directory/MyFile.txt
找到像 C:\inetpub\wwwroot\Files\Directory\MyFile.txt
这样的本地文件
那样的话,你需要弄清楚那个URL。我制作了一个将 "resituating" 本地文件路径转换为 Web 路径的工具,它是一个名为 PathMatcher 的 NuGet 包(在文档中向下滚动到 'PathMatcher.Resituate' 部分以获取示例)
这是我用来构建树的代码:
Nick Saxelby
<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
以便用户可以下载特定文件?
要在节点上设置 link,请将 treeNode.Href
设置为 URL。
如果文件已与此页面一起托管在您的网站上,我想您知道他们的 URLs。
例如,可以在 http://example.com/Files/Directory/MyFile.txt
C:\inetpub\wwwroot\Files\Directory\MyFile.txt
这样的本地文件
那样的话,你需要弄清楚那个URL。我制作了一个将 "resituating" 本地文件路径转换为 Web 路径的工具,它是一个名为 PathMatcher 的 NuGet 包(在文档中向下滚动到 'PathMatcher.Resituate' 部分以获取示例)