ASP.NET設計網路硬碟之檔案夾實現
來源:互聯網
上載者:User
在介紹“網路硬碟”概念時已經提到,每個使用者在“網路硬碟”上都有自己的一塊空間。在下面程式設計中是這樣處理的:為使用者提供一個固定的檔案夾,在這個檔案夾下使用者可以自己增加/刪除新的檔案夾或檔案。如圖1所示,首次開啟網頁時將列出該檔案夾下的所有內容(包括檔案和檔案夾)。如果想進入下一級檔案夾,可以選中該檔案夾,單擊“開啟”按鈕進入。下面將就查看檔案夾內容功能的實現分步驟進行說明。
1. 頁面載入
由於程式所提供的使用者目錄是固定的,如c:UserDir,而且要求在頁面載入後顯示該檔案夾所有內容,所以需要在Page_Load中進行相應操作:首先要判斷該檔案夾是否存在,如果不存在需要先建立它;然後再列出該檔案夾下的內容,其代碼實現如下:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置使用者代碼以初始化頁面
if(Page.IsPostBack==false)
{
CurrentPath= @"c:UserDir"; //設定目前的目錄
if(Directory.Exists(@"c:UserDir")==false) //若該目錄不存在,建立該目錄
Directory.CreateDirectory(@"c:UserDir");
LoadDir(CurrentPath); //初始化裝入目錄
}
}
LoadDir(string FullPath)方法用來列出該檔案夾下的所有內容,其代碼如下:
private void LoadDir(string FullPath)
{
CurrentPath=FullPath;
ArrayList values = new ArrayList();
string [] MyFiles,MyDirs;
MyFiles = Directory.GetFiles(FullPath); //得到該目錄下所有檔案
if(CurrentPath!=@"c:UserDir") //若不是頂級目錄,增加“返回上級目錄”選項 {
values.Add("返回上級目錄");
}
values.AddRange(MyFiles); //加入檔案
MyDirs= Directory.GetDirectories(FullPath); //得到該目錄下所有目錄
values.AddRange(MyDirs); //加入目錄