直播中
在刪除子目錄時,我們需要用到Directory.Delete (string,bool)方法,此方法有兩種:
1.public static void Delete(string);
從指定路徑刪除空目錄。
2.public static void Delete(string, boolean);
刪除指定的目錄并(如果指示)刪除該目錄中的任何子目錄,將boolean設(shè)置為true的話,則刪除此目錄下的所有子目錄和文件,否則將boolean設(shè)置為false。
在這里我們使用了第二種方法,如果選擇刪除的話,將刪除此目錄下的所有子目錄和文件。
注意:Directory 類的所有方法都是靜態(tài)的,因而無需具有目錄Directory的實例就可被調(diào)用。
/*實現(xiàn)刪除子目錄的方法,此方法為VS.NET自動添加,注意DataGridCommandEventArgs e為DirGrid中 CommandName="Delete" 的ButtonColumn的事件,通過此事件,我們可以得到是那一行的ButtonColumn按鈕列被點擊,進而確定我們需要刪除的子目錄的名稱*/
private void DirGrid_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e){
/*定義一個單元格,e.Item為此事件所發(fā)生行的所有項目,e.Item.Cells[1]為整個行的第二個單元格的內(nèi)容,在此DataGrid中為子目錄的名稱
*/
TableCell ItemCell = e.Item.Cells[1];
//得到此子目錄的名稱的字符串
string item = ItemCell.Text;
//刪除此子目錄
Directory.Delete(item,true);
//刪除后進行數(shù)據(jù)綁定以更新數(shù)據(jù)列表
DirGrid.DataBind();
}
在刪除文件時,我們需要用到File.Delete(string path);
注意:File 類的所有方法都是靜態(tài)的,因而無需具有目錄的實例就可被調(diào)用。
private void FileGrid_DeleteCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e) {
TableCell ItemCell = e.Item.Cells[1];
//得到此文件名稱的字符串
string item = ItemCell.Text;
//刪除此文件
File.Delete(item);
//刪除后進行數(shù)據(jù)綁定以更新數(shù)據(jù)列表
DirGrid.DataBind();
}
通過上邊的主要方法我們在頁面上實現(xiàn)了一個刪除某一個子目錄或者文件的功能,此功能在測試時需要慎重使用,一旦刪除無法通過常規(guī)方法恢復(fù)。其他如目錄或文件改名、修改內(nèi)容等方法都可以在此程序基礎(chǔ)上添加相應(yīng)的功能,實現(xiàn)方法也很簡單。各位愛好者可以通過添加相應(yīng)功能,使之?dāng)U充為一個基于Web的服務(wù)器文件管理系統(tǒng)。我們也可以由此看到這個程序的危害性,一個沒有對此安全隱患采取防范措施的服務(wù)器的文件系統(tǒng)就都暴露在了使用此程序的用戶面前。