Как выполнить операцию физического удаления файла при удалении строки gridview с помощью asp.net

#asp.net #gridview #aspxgridview

#asp.net #gridview #aspxgridview

Вопрос:

Я новичок в представлении сетки, у меня есть несколько имен файлов в виде таблицы в виде источника данных Sql, и если я удалю эту строку, физический файл также должен быть удален, который существует в какой-то другой папке. Это мой код, который я пробовал..

         protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType==DataControlRowType.DataRow)
            {
               Control control=e.Row.Cells[0].Controls[0];

               String Filename = e.Row.Cells[2].ToString();

                if (control is LinkButton)
                {
                    ((LinkButton)control).OnClientClick = "return confirm('Are you Sure you want to delete? this Cannot be undone')";

                 if((File.Exists(Server.MapPath("~/Content/MainContent/BulkDataContent/"   Filename))))
                     {
                    File.Delete(Server.MapPath("~/Content/MainContent/BulkDataContent/"   Filename));
                     }
                }
  

Но проблема в том, что когда я удаляю один файл из представления сетки, одна строка удаляется из представления сетки, а все физические файлы удаляются из папки… Это цикл до конца..
Помогите мне решить эту проблему…
Заранее спасибо.

Комментарии:

1. где находится событие нажатия кнопки link?

Ответ №1:

Обновленный ответ

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if(e.Row.RowType==DataControlRowType.DataRow)
            {
               Control control=e.Row.Cells[0].Controls[0];

               String Filename = e.Row.Cells[2].ToString();

                if (control is LinkButton)
                {
                    ((LinkButton)control).OnClientClick = "return confirm('Are you Sure you want to delete? this Cannot be undone')";
    //write here your Delete query/Procedure


    if((File.Exists(Server.MapPath("~/Content/MainContent/BulkDataContent/"   Filename))))
                 {
                File.Delete(Server.MapPath("~/Content/MainContent/BulkDataContent/"   Filename));
                 }
            }
  

Комментарии:

1. В этом GridView есть автоматически генерируемая кнопка удаления, поэтому я думаю, что нет необходимости писать запрос на удаление, теперь я хочу удалить точную форму файла над путем, по которому пользователь нажимает