Click here to Skip to main content
Click here to Skip to main content

Directory Browsing in ASP.Net 2.0

, 15 Apr 2008
Rate this:
Please Sign up or sign in to vote.
An article on browsing via directories or HTTP, with ASP.NET using Tree View Control
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)

Share

About the Author

Rupesh Burad
Team Leader Nagarro Software Pvt Ltd.
India India
No Biography provided

Comments and Discussions

 
GeneralMy vote of 3 PinmemberMember 41393824-Apr-14 9:26 
Suggestionyour code does not display all folder in particular drive in vs2010 [modified] Pinmembersankmahesh23-Oct-13 23:58 
Questionwill this treeview fetches the data from server folders or local system folders? Pinmemberaravind0627-Sep-13 20:05 
AnswerRe: will this treeview fetches the data from server folders or local system folders? Pinmemberankurmee31-Jan-14 1:59 
QuestionCan u give this project in vb codings ? PinprofessionalAravindba21-Jul-13 6:21 
Bugbug on expanding node PinmemberIosif_petre188-Apr-13 10:31 
QuestionBrowsing Namespace PinmemberFranco Cipriano23-Jul-12 4:45 
QuestionDirectory Browsing Pinmemberanandkumar018822-May-12 0:55 
QuestionVB source Pinmemberhighglow23-Apr-12 6:26 
QuestionNot able to browse network drive Pinmemberajitsingh41711-Jan-12 2:09 
QuestionUn Know in Fire Fox PinmemberPhan Van Thao25-Sep-11 17:06 
GeneralQuestion [modified] PinmemberAtul Naik21-Sep-11 2:03 
GeneralDirectory browser Pinmembersrinivas prabhu20-Aug-10 1:37 
GeneralRe: Directory browser PinmemberRupesh Burad22-Aug-10 18:48 
GeneralRe: Directory browser Pinmemberselllllllllllllll8-Sep-11 1:50 
GeneralMy vote of 1 Pinmemberzdlik5-Feb-10 12:36 
QuestionThanks....? PinmemberMember 412614913-Nov-09 21:37 
GeneralDirectory Browsing in ASP.Net 2.0 Pinmemberab_sdfdsfsdf20-Oct-09 7:31 
GeneralHi! Pinmemberweiiis11-Aug-09 3:42 
GeneralThanks PinmemberIntellect22-Mar-09 19:32 
GeneralMy vote of 1 Pinmemberjoshuaemory31-Dec-08 5:21 
QuestionSource code Pinmemberclbmribas12-Jul-08 9:59 
QuestionNeed Source PinmemberJeff Bowman27-Dec-07 18:10 
GeneralRe: Need Source PinmemberRupesh Burad15-Apr-08 23:27 
GeneralRe: Need Source PinmemberJeff Bowman19-Apr-08 15:53 
QuestionSourcecode Pinmemberknoami12-Dec-07 6:50 
GeneralRe: Sourcecode PinmemberRupesh Burad15-Apr-08 23:27 
GeneralRe: Sourcecode Pinmemberknoami16-Apr-08 3:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.140827.1 | Last Updated 16 Apr 2008
Article Copyright 2007 by Rupesh Burad
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid