我有一个包含并显示单个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