2011-12-08 2 views
1

treeview를 사용하여 asp.net을 사용하여 재귀 적으로 정의 된 폴더의 파일과 폴더를 탐색하는 컨트롤이나 샘플 프로젝트를 찾고 있습니다.asp.net에서 treeview를 사용하여 재귀 적으로 파일과 폴더를 탐색하고 싶습니다.

자유로운 컨트롤/샘플 프로젝트 같은 것이 있는지 나는 모른다.

미리 감사드립니다.

+0

http://mattberseth.com/blog/2007/07/hwo_to_create_an_aspnet_ajax_s.html –

+0

@TimSchmelter 감사합니다! 나는 여기에 오기 전에 그 사이트에 왔지만 그 사이트의 소스 코드는 더 이상 사용할 수 없다. 나에게 불운 – olidev

+0

@devn : 소스 코드가 페이지 하단에있는 것 같습니다 (aspx + codebehind). 그것은 나에게 완전 해 보인다. –

답변

1

내 기사 - Build a File tree explorer with asp.net and jquery을 참조하십시오. 원본 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 

다음으로 파일 트리를 표시 할 페이지가 필요합니다. 이 페이지는 jquery 코어 파일과 jquery 파일 트리 스크립트를 참조해야합니다. 마스터 페이지의 jquery 코어 파일에 대한 참조가 있습니다.

<link href="../styles/jqueryFileTree.css" rel="stylesheet" type="text/css" /> 
<script src="../scripts/jqueryFileTree.js" type="text/javascript"></script> 

파일 트리가 표시된 페이지에서이 코드를 사용하십시오. 루트는 찾아 볼 디렉토리이고, 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> 
+0

그것은 아주 좋은 데모입니다. 소스 코드도 공유 할 수 있습니까? 미리 감사드립니다 – olidev

+0

@devn 제가 현상금을 받습니까? –

+0

루트는 정적입니다. 코드 숨김에서 변경하고 싶습니다. 어떻게 가능합니까? 미리 감사드립니다. – olidev

관련 문제