VB.NET Страница перезагружается каждый раз, когда я устанавливаю флажок

#asp.net #vb.net

#asp.net #vb.net

Вопрос:

Как мне предотвратить перезагрузку страницы при каждом нажатии на флажок? Это может быть громоздким, когда у меня сотни флажков. Ниже приведен мой код:

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
    Dim di As New IO.DirectoryInfo(ImagePath)
    Dim imageArray As IO.FileInfo() = di.GetFiles()
    Dim image As IO.FileInfo

    'list the names of all images in the specified directory

    For Each image In imageArray.OrderBy(Function(i) i.Name)
        CheckBoxList1.Items.Add(image.Name)
    Next
End If
End Sub
  

ASP.NET:

 <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatLayout="table" RepeatColumns="4" RepeatDirection="vertical" AutoPostBack="True">
    </asp:CheckBoxList>
  

Я полагаю, что установил AutoPostBack=True из-за приведенного ниже кода:

 Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnDelete.Click

    For count As Integer = 0 To CheckBoxList1.Items.Count - 1
        If CheckBoxList1.Items(count).Selected Then
            File.Delete(ImagePath amp; CheckBoxList1.Items(count).ToString)
            CheckBoxList1.Items.Remove(count)
        End If
    Next

    Response.Redirect("Delete.aspx")

End Sub
  

Ответ №1:

У вас есть AutoPostBack="True" . Установите это False значение, если вы не хотите, чтобы оно автоматически отправлялось обратно.

Ответ №2:

Установите значение AutoPostBack равным False, чтобы предотвратить перезагрузку страницы. Тогда зависит от того, что вы пытаетесь сделать с флажком после внесения этого изменения.