我有一個包含並顯示單個xml文件的列表框。歸檔文件正在積累,我需要實施一個刪除按鈕來永久刪除所選的xml文件。
這些文件存儲在名爲「Archive」文件夾的文件夾中(請參見截圖)。
我該如何實施解決方案?我有下面的代碼爲我的刪除按鈕。代碼正在刪除內存中的記錄,但它無法刪除實際的文件,每次頁面加載時文件仍然存在。我感謝您的幫助。謝謝。使用LINQ永久刪除asp.net列表框中的項目C#
protected void DeleteValues(object sender, EventArgs e)
{
List<ListItem> deletedItems = new List<ListItem>();
foreach (ListItem item in ListBoxArchive.Items)
{
if (item.Selected)
{
deletedItems.Add(item);
}
}
foreach (ListItem item in deletedItems)
{
ListBoxArchive.Items.Remove(item);
}
}
謝謝藍染,列表框和「存檔」文件夾中選定的文件現在被刪除。出於某種原因,當我加載頁面時,刪除的文件仍然在ListBox內張貼,很奇怪,因爲它已經從Archive文件夾中刪除了這些文件。這是我的Page_Load代碼,它調用一個名爲loadXMLFiles()的方法。你可以讓我知道loadXMLFiles方法有什麼問題。
https://codeshare.io/aWnMF –
在調用刪除方法後。你應該釋放FileInfo []數組。這意味着參考和數據仍然存在,但文件已被刪除。所以在從實際文件中刪除方法後,你需要inFiles = null;現在嘗試一下,並從foreach中讀取,因爲您要將數組歸零。 – Aizen
從outFiles中做同樣的事情 – Aizen