#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, чтобы предотвратить перезагрузку страницы. Тогда зависит от того, что вы пытаетесь сделать с флажком после внесения этого изменения.