我想在asp.net中使用treeview递归浏览文件夹中的文件和文件夹

我想在asp.net中使用treeview递归浏览文件夹中的文件和文件夹,asp.net,Asp.net,我正在寻找一个控件或示例项目,使用asp.net使用treeview递归浏览已定义文件夹的文件和文件夹 我不知道是否有像这样的免费控制/示例项目 提前谢谢 参见我的文章-。原始jquery文件在我在本文中指定的源代码处不再可用。但是,我有jquery文件,可以使其可用 编辑:我将在一点后发布代码 代码如下: 首先,您需要服务器代码来访问文件系统。这是可以进入代码隐藏文件或在aspx页面本身-只需删除所有其他内容 Protected Sub Page_Load(ByVal sender As O

我正在寻找一个控件或示例项目,使用asp.net使用treeview递归浏览已定义文件夹的文件和文件夹

我不知道是否有像这样的免费控制/示例项目

提前谢谢

参见我的文章-。原始jquery文件在我在本文中指定的源代码处不再可用。但是,我有jquery文件,可以使其可用

编辑:我将在一点后发布代码

代码如下:

首先,您需要服务器代码来访问文件系统。这是可以进入代码隐藏文件或在aspx页面本身-只需删除所有其他内容

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim dir As String
    If Request.Form("dir") Is Nothing Or Request.Form("dir").Length <= 0 Then
        dir = "/"
    Else
        dir = Request.Form("dir")
    End If
    Dim di As New System.IO.DirectoryInfo(Server.MapPath(dir))
    Dim sb As New StringBuilder
    sb.Append("<ul class=""jqueryFileTree"" style=""display: none;"">" & ControlChars.Lf)
    Dim di_child As System.IO.DirectoryInfo
    For Each di_child In di.GetDirectories()
        sb.Append((ControlChars.Tab & "<li class=""directory collapsed""><a href=""#"" rel=""" & dir & di_child.Name & "/"">" & di_child.Name & "</a></li>" & ControlChars.Lf))
    Next di_child
    Dim fi As System.IO.FileInfo
    For Each fi In di.GetFiles()
        Dim ext As String = ""
        If fi.Extension.Length > 1 Then
            ext = fi.Extension.Substring(1).ToLower()
        End If

        sb.Append((ControlChars.Tab & "<li class=""file ext_" & ext & """><a href=""#"" rel=""" & dir & fi.Name & """>" & fi.Name & "</a></li>" & ControlChars.Lf))
    Next fi
    sb.Append("</ul>")
    Response.Write(sb.ToString)
End Sub
Protected Sub Page_Load(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
Dim dir作为字符串
如果Request.Form(“dir”)为Nothing或Request.Form(“dir”).Length为1,则
ext=fi.Extension.Substring(1.ToLower()
如果结束
sb.追加((ControlChars.Tab和
  • ”和ControlChars.Lf)) 下一个fi 某人追加(“”) (某人)写回信 端接头
    接下来需要一个页面来显示文件树。此页面需要参考jquery核心文件和jquery文件树脚本。我碰巧在母版页中引用了jquery核心文件

    <link href="../styles/jqueryFileTree.css" rel="stylesheet" type="text/css" />
    <script src="../scripts/jqueryFileTree.js" type="text/javascript"></script>
    
    
    
    在显示文件树的页面中,粘贴以下代码。Root是要浏览的目录,filetree.aspx具有上面的服务代码。div将成为文件树。对于演示,我使用iframe作为文件查看器

    <script type="text/javascript">
        var $j = jQuery.noConflict();
        $j(document).ready(function () {
            $j('#divFileTree').fileTree({
                root: '/demos/',
                script: 'filetree.aspx',
                expandSpeed: 1000,
                collapseSpeed: 1000,
                multiFolder: false
            }, function (file) {
                alert(file);
                $j('#demoviewer').attr('src', file);
            });
        });
    
    
    </script>
    <div id="divFileTree"></div>
    
    
    var$j=jQuery.noConflict();
    $j(文档).ready(函数(){
    $j(“#divFileTree”).fileTree({
    根目录:“/demos/”,
    脚本:“filetree.aspx”,
    扩展速度:1000,
    折叠速度:1000,
    多重文件夹:错误
    },函数(文件){
    警报(文件);
    $j('demoviewer').attr('src',file);
    });
    });
    
    参见我的文章-。原始jquery文件在我在本文中指定的源代码处不再可用。但是,我有jquery文件,可以使其可用

    编辑:我将在一点后发布代码

    代码如下:

    首先,您需要服务器代码来访问文件系统。这是可以进入代码隐藏文件或在aspx页面本身-只需删除所有其他内容

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim dir As String
        If Request.Form("dir") Is Nothing Or Request.Form("dir").Length <= 0 Then
            dir = "/"
        Else
            dir = Request.Form("dir")
        End If
        Dim di As New System.IO.DirectoryInfo(Server.MapPath(dir))
        Dim sb As New StringBuilder
        sb.Append("<ul class=""jqueryFileTree"" style=""display: none;"">" & ControlChars.Lf)
        Dim di_child As System.IO.DirectoryInfo
        For Each di_child In di.GetDirectories()
            sb.Append((ControlChars.Tab & "<li class=""directory collapsed""><a href=""#"" rel=""" & dir & di_child.Name & "/"">" & di_child.Name & "</a></li>" & ControlChars.Lf))
        Next di_child
        Dim fi As System.IO.FileInfo
        For Each fi In di.GetFiles()
            Dim ext As String = ""
            If fi.Extension.Length > 1 Then
                ext = fi.Extension.Substring(1).ToLower()
            End If
    
            sb.Append((ControlChars.Tab & "<li class=""file ext_" & ext & """><a href=""#"" rel=""" & dir & fi.Name & """>" & fi.Name & "</a></li>" & ControlChars.Lf))
        Next fi
        sb.Append("</ul>")
        Response.Write(sb.ToString)
    End Sub
    
    Protected Sub Page_Load(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
    Dim dir作为字符串
    如果Request.Form(“dir”)为Nothing或Request.Form(“dir”).Length为1,则
    ext=fi.Extension.Substring(1.ToLower()
    如果结束
    sb.追加((ControlChars.Tab和
  • ”和ControlChars.Lf)) 下一个fi 某人追加(“”) (某人)写回信 端接头
    接下来需要一个页面来显示文件树。此页面需要参考jquery核心文件和jquery文件树脚本。我碰巧在母版页中引用了jquery核心文件

    <link href="../styles/jqueryFileTree.css" rel="stylesheet" type="text/css" />
    <script src="../scripts/jqueryFileTree.js" type="text/javascript"></script>
    
    
    
    在显示文件树的页面中,粘贴以下代码。Root是要浏览的目录,filetree.aspx具有上面的服务代码。div将成为文件树。对于演示,我使用iframe作为文件查看器

    <script type="text/javascript">
        var $j = jQuery.noConflict();
        $j(document).ready(function () {
            $j('#divFileTree').fileTree({
                root: '/demos/',
                script: 'filetree.aspx',
                expandSpeed: 1000,
                collapseSpeed: 1000,
                multiFolder: false
            }, function (file) {
                alert(file);
                $j('#demoviewer').attr('src', file);
            });
        });
    
    
    </script>
    <div id="divFileTree"></div>
    
    
    var$j=jQuery.noConflict();
    $j(文档).ready(函数(){
    $j(“#divFileTree”).fileTree({
    根目录:“/demos/”,
    脚本:“filetree.aspx”,
    扩展速度:1000,
    折叠速度:1000,
    多重文件夹:错误
    },函数(文件){
    警报(文件);
    $j('demoviewer').attr('src',file);
    });
    });
    
    @TimSchmelter谢谢!我是在发布到这里之前来到这个网站的,但是这个网站的源代码已经不可用了。倒霉me@devn:源代码似乎位于页面底部(aspx+codebehind)。对我来说,它看起来很完整。@TimSchmelter谢谢Tim,事实上我来了一篇更新的帖子:我认为源代码不完整,也无法下载。@devn:我收到了一个“啊,糟了……我找不到那个页面!”的链接。但是Matt的旧文件夹资源管理器非常紧凑,易于扩展。你遗漏了什么?为什么要下载这几行?我想你还没有注意到他只是简单地将与GridView结合使用。@TimSchmelter谢谢!我是在发布到这里之前来到这个网站的,但是这个网站的源代码已经不可用了。倒霉me@devn:源代码似乎位于页面底部(aspx+codebehind)。对我来说,它看起来很完整。@TimSchmelter谢谢Tim,事实上我来了一篇更新的帖子:我认为源代码不完整,也无法下载。@devn:我收到了一个“啊,糟了……我找不到那个页面!”的链接。但是Matt的旧文件夹资源管理器非常紧凑,易于扩展。你遗漏了什么?为什么要下载这几行?我想你还没有注意到他只是简单地将与GridView结合使用。这是一个非常好的演示。你能分享一下源代码吗?提前感谢根是静态的。我想从代码背后改变它,这怎么可能呢?提前谢谢。@devn根目录在上面页面的jquery代码中进行了调整。如果我知道你的电子邮件,我也可以通过电子邮件将实际创建文件树的jquery文件发送给你?我该换什么?非常感谢你的好意。我的电子邮件是:trashpopemail@gmail.com,我的意思是根路径在jqueryjs中。有没有可能我可以在C#中从代码隐藏更改它?这是一个非常好的演示。你能分享一下源代码吗?提前感谢根是静态的。我想从代码背后改变它,这怎么可能呢?提前谢谢。@devn根目录在上面页面的jquery代码中进行了调整。我还可以通过电子邮件将jquery文件t发送给您