Click here to Skip to main content
6,595,854 members and growing! (18,158 online)
Email Password   helpLost your password?
Web Development » ASP.NET » Utilities     Advanced License: The Code Project Open License (CPOL)

Directory Browsing in ASP.Net 2.0

By Rupesh Burad

An article on browsing via directories or HTTP, with ASP.NET using Tree View Control
C# (C# 1.0, C# 2.0, C# 3.0), .NET (.NET 2.0), ASP.NET, Dev
Posted:5 Dec 2007
Updated:16 Apr 2008
Views:16,431
Bookmarked:36 times
Unedited contribution
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
4 votes for this article.
Popularity: 1.08 Rating: 1.80 out of 5
3 votes, 75.0%
1

2

3

4
1 vote, 25.0%
5
Download Browsing.zip - 18.72 KB
Screenshot - main.JPG

Introduction

The file uploder is the control which help to select the file but not the path of the file or directory and also we can't make a Active X Control for this so with the help of pop-up we provide the user to select file or directory path in the intranet. This pop-up look same like the directory browing in desktop application. 

Background

I read this article http://www.codeproject.com/KB/aspnet/Browsing.aspx which is in ASP.net 1.1. I have changed the folder structure with tree view.

Using the code

Create a C# web application in asp.net 2.0 and add BrowseDirectory.aspx and add following files into your app_code folder

  • WebForm1_aspx_cs_FileList.cs
  • WebForm1_aspx_cs_PathHelper.cs

and create a textbox and button on which webform you want to use it. Add onClientClick of the button and set OnClientClick="showDirectory();" . Add this script into yout web form for calling the browsing page.

function showDirectory()
             {
                document.all.TextBox1.value= window.showModalDialog("browseDirectory.aspx",
                            'jain',
                            "dialogHeight: 560px; dialogWidth:360px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: No;"); 
                return false;
              }
           

 

 

Explanation of code blocks

Add Node method in the BrowseDirectory.aspx which add the tree node of the directory and files. FileList Constructor takes path and the filters for the files

 
            FileList objList = new FileList(path, "*.*");
            TreeNode node = new TreeNode(path,path);
            for(int index = 0 ; index < objList.Directories.Length ; index++)
            {
                string directory = objList.Directories[index];            
                TreeNode objChildNode = new TreeNode(directory, path + "\\" + directory + "\\"); 
                objChildNode.PopulateOnDemand = true;
                objChildNode.Target = "_blank";
                
                parentNode.ChildNodes.Add(objChildNode);
            }
            foreach (string file in objList.Files)
            {
                TreeNode objChildNode = new TreeNode(file, path + "\\" + file);
                parentNode.ChildNodes.Add(objChildNode);
            }
            return node;
            

For selecting the path of the file or directory use the selection event of the tree view

            void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
            {
                _browseTextBox.Text = TreeView1.SelectedValue;
            }
            

Expanding is base on the directory selection.

             void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
            {
                if (e.Node.Value.EndsWith("\\"))
                {
                    AddNodes(e.Node.Value, e.Node); 
                }
               

            }
            

Finally when you select the path then go back to the parent page with this path

            <script language="javascript">
                <!--
                function SelectAndClose()
		            {
		                txtValue = document.getElementById('_browseTextBox');
            		    
		                window.returnValue = txtValue.value;
		                window.close();
		                return false;
		            }
            		
            		
                -->
            </script>
            

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Rupesh Burad


Member

Occupation: Software Developer (Senior)
Company: MPS Technologies Limited
Location: India India

Other popular ASP.NET articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Layout  Per page   
 Msgs 1 to 11 of 11 (Total in Forum: 11) (Refresh)FirstPrevNext
GeneralDirectory Browsing in ASP.Net 2.0 Pinmemberab_sdfdsfsdf8:31 20 Oct '09  
GeneralHi! Pinmemberweiiis4:42 11 Aug '09  
GeneralThanks PinmemberIntellect20:32 22 Mar '09  
GeneralMy vote of 1 Pinmemberjoshuaemory6:21 31 Dec '08  
QuestionSource code Pinmemberclbmribas10:59 12 Jul '08  
QuestionNeed Source PinmemberJeff Bowman19:10 27 Dec '07  
GeneralRe: Need Source PinmemberRupesh Burad0:27 16 Apr '08  
GeneralRe: Need Source PinmemberJeff Bowman16:53 19 Apr '08  
QuestionSourcecode Pinmemberknoami7:50 12 Dec '07  
GeneralRe: Sourcecode PinmemberRupesh Burad0:27 16 Apr '08  
GeneralRe: Sourcecode Pinmemberknoami4:50 16 Apr '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 16 Apr 2008
Editor:
Copyright 2007 by Rupesh Burad
Everything else Copyright © CodeProject, 1999-2009
Web19 | Advertise on the Code Project