Как удалить несколько файлов из системы управления ретранслятором
Уважаемый друг,
У меня есть список файлов из папки в ретрансляторе с флажком.
мне нужно удалить отмеченные флажками элементы.
Я получил ошибку:
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
Можете ли вы опубликовать решение как фактическое решение (НИЖЕ), чтобы этот вопрос был закрыт. Спасибо