在介紹“網絡硬盤”概念時已經提到,每個用戶在“網絡硬盤”上都有自己的一塊空間。在下面程序設計中是這樣處理的:為用戶提供一個固定的文件夾,在這個文件夾下用戶可以自己增加/刪除新的文件夾或文件。如圖1所示,首次打開網頁時將列出該文件夾下的所有內容(包括文件和文件夾)。如果想進入下一級文件夾,可以選中該文件夾,單擊“打開”按鈕進入。下面將就查看文件夾內容功能的實現分步驟進行說明。
圖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); //加入目錄
FileList.DataSource=values; //設置數據源
FileList.DataBind(); //綁定數據
}