Почему-то, когда я нажимаю кнопку «Удалить», ничего не происходит. Я предполагаю, что это как-то связано с состоянием просмотра и потерей обработчиков при загрузке страницы, хотя я все еще не могу понять это. Я воссоздаю обработчик каждый раз при загрузке страницы, почему это не работает?
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If IsPostBack Then
If Not IsNothing(fileUpload.PostedFile) AndAlso fileUpload.PostedFile.ContentLength > 0 Then
_files = TryCast(Session("FilesToSend"), List(Of document))
_files.Add(New Document(fileUpload.FileName, fileUpload.FileBytes, fileUpload.FileBytes.Length))
loadTable()
End If
Else
Session("FilesToSend") = New List(Of document)
End If
End Sub
Private Sub loadTable()
Dim count As Integer = 0
For Each doc In _files
Dim r As New TableRow()
'Add Filename Cell
Dim filenameCell As New TableCell()
filenameCell.Text = doc.filename
r.Cells.Add(filenameCell)
'Add Size Cell
Dim sizeCell As New TableCell()
sizeCell.Text = doc.fileSize
r.Cells.Add(filenameCell)
'Add Remove Button Cell
Dim deleteButton As New Button
Dim deleteCell As New TableCell()
With deleteButton
.Text = "Remove"
'.ID = "deleteButton" + count.ToString()
deleteCell.Controls.Add(deleteButton)
AddHandler deleteButton.Click, AddressOf deleteRow_Click
End With
r.Cells.Add(deleteCell)
'AddHandler deleteButton.Click, New EventHandler(AddressOf deleteRow_Click)
'Add Row to Table
uploadedDocumentsTable.Rows.Add(r)
count += 1
Next
End Sub
Protected Sub deleteRow_Click(sender As Object, e As System.EventArgs)
_files = TryCast(Session("FilesToSend"), List(Of Document))
Dim deleteButton = TryCast(sender, Button)
_files.RemoveAt(sender.ID)
loadTable()
End Sub