здесь я получил datagridviewer, который называется gridview1 и fileupload1, когда я загружаю файл, он обновляет gridview1 и таблицу в базе данных с именем файла и путем и сохраняет указанный файл в папке "Mag"... но теперь то, что я хочу сделать, это обратное, я получил, как использовать gridview для удаления записи в таблице, но удаление файла из папки "Mag" не работает, использовали следующий код на С# или codebehind
protected void GridView1_Del(object sender, EventArgs e)
{
string DeleteThis = GridView1.SelectedRow.Cells[0].Text;
string[] Files = Directory.GetFiles(@"i:/Website/WebSite3/Mag/");
foreach (string file in Files)
{
if (file.ToUpper().Contains(DeleteThis.ToUpper()))
{
File.Delete(file);
}
}
}
это дает мне ошибку
"Ссылка на объект не установлена в экземпляр объекта."
pls скажите мне, что я делаю неправильно, но я не должен углубленно понимать платформу, поэтому любая помощь будет оценена заранее спасибо Марк
Вот ответ, который я нашел Спасибо Tammy и всем остальным за все ответы
Хорошо здесь целевая функция сделки удаляет данные файла из таблицы gridview и базы данных и файла из папки проекта, где хранится файл
в разделе script gridview, который вы хотели бы включить
OnRowDeleting="FuntionName"
Не
OnSelectedIndexChanged = "FuntionName"
или
OnRowDeleted="FuntionName"
затем в коде С# (codebehind)
protected void FuntionName(object sender, GridViewDeleteEventArgs e)
{
// storing value from cell
TableCell cell = GridView1.Rows[e.RowIndex].Cells[0];
// full path required
string fileName = ("i:/Website/WebSite3/Mag/" + cell.Text);
if(fileName != null || fileName != string.Empty)
{
if((System.IO.File.Exists(fileName)))
{
System.IO.File.Delete(fileName);
}
}
}
И только для дополнительной справки для тех, кто хочет учиться
OnRowDeleting = "FuntionName" находится перед удалением строки, которую вы можете отменить удаление или запуск функций по данным, как я сделал
OnRowDeleted = "FuntionName" он непосредственно удаляет