Vivek.anand34 Ответов: 0

Как удалить несколько файлов из системы управления ретранслятором


Уважаемый друг,

У меня есть список файлов из папки в ретрансляторе с флажком.
мне нужно удалить отмеченные флажками элементы.

Я получил ошибку:
System.ArgumentException: The path is not of a legal form.


Что я уже пробовал:

For Each gvrow As RepeaterItem In rptBackups.Items
            Dim chkdelete As CheckBox = DirectCast(gvrow.FindControl("chkSelect"), CheckBox)
            If chkdelete.Checked Then
                Dim filePath As String = CType(sender, LinkButton).CommandArgument
                File.Delete(filePath)
                Response.Redirect(Request.Url.AbsoluteUri)
            End If
        Next



Решенная Проблема:

For Each MyControl As RepeaterItem In rptBackups.Items
           Dim filename As String = CType(MyControl.FindControl("Label1"), Label).Text
           Dim filePaths As String = "D:/FTP/DB Backup/" & filename
           Dim chkdelete As CheckBox = DirectCast(MyControl.FindControl("chkSelect"), CheckBox)
           If chkdelete.Checked Then
               File.Delete(filePaths)
           End If
       Next

ZurdoDev

Вам нужно исправить путь.

Jochen Arndt

Ошибка совершенно очевидна. Проверьте полученные строки, распечатав их, отладив приложение или что-то еще CommandArgument свойство было установлено для sender LinkButton.

Но здесь нет необходимости в цикле, потому что вы постоянно извлекаете одно и то же значение из своего sender LinkButton.

Vivek.anand34

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

Jochen Arndt

Я - и другие-не могу помочь, не видя недостающих частей кода и того, какая информация хранится там.

Если в строках установлены флажки, то в каждой строке также должно быть поле, содержащее имя файла.

Vivek.anand34

Да, каждая строка содержит имена файлов,кнопку загрузки, флажок...

Jochen Arndt

Затем получите имя из соответствующего поля / элемента управления или где бы оно ни хранилось, и убедитесь, что это допустимое имя файла.

Vivek.anand34

вот только я не знаю, как это проверить....

Jochen Arndt

Чтобы проверить что?
Вы где-то установили имя файла. Убедитесь, что он действителен при его установке, и вы получите его оттуда, когда это необходимо.

Vivek.anand34

Для каждого MyControl как RepeaterItem в rptBackups.Предметы
Dim filePaths() As String = Directory.GetFiles("D:/FTP/DB резервное копирование/")

Dim chkdelete As CheckBox = DirectCast(MyControl.FindControl ("chkSelect"), флажок)
Если чкделете.Тогда Проверено

Конец, Если
Следующий

Jochen Arndt

Используйте зеленую ссылку "улучшить вопрос", чтобы отредактировать свой вопрос и добавить новую информацию.

Но приведенный выше фрагмент кода является неполным.

Вы хотите удалить каталог (выше указан путь к каталогу)?
Файл.Delete () можно использовать только для удаления одного файла.

Vivek.anand34

Да, это решило мою проблему.. Спасибо... Я обновил решение выше.

CHill60

Можете ли вы опубликовать решение как фактическое решение (НИЖЕ), чтобы этот вопрос был закрыт. Спасибо

0 Ответов