SelectedIndexChanged für programmgesteuert erstellte dropdownlist in ASP.NET feuert mehrere Male

Folgendes:

dim dropdownlist1 as new dropdownlist
dim dropdownlist2 as new dropdownlist
dim dropdownlist3 as new dropdownlist

dropdownlist1.AutoPostBack = true
dropdownlist2.AutoPostBack = true
dropdownlist3.AutoPostBack = true

AddHandler dropdownlist1.SelectedIndexChanged, AddressOf SomeEvent
AddHandler dropdownlist2.SelectedIndexChanged, AddressOf SomeEvent
AddHandler dropdownlist3.SelectedIndexChanged, AddressOf SomeEvent

Edit:
Ich möchte ein Ereignis auslösen, egal, was dropdown ausgewählt ist.
Edit:

Den SomeEvent feuert wie erwartet, wenn alle der dropdown-Auswahl geändert wird. Allerdings, wenn sagen DropdownList2 hat eine Auswahl gemacht, dann mache ich eine Auswahl, die entweder mit DropDownList1 oder DropdownList3, dann SomeEvent feuert wieder. , Was die Ursache für dieses Verhalten und wie bekomme ich nur einen einzigen Anhebung der Veranstaltung?

Ich vermute, dass, wenn der viewstate für das dynamcially erstellt dropdownlists wird wiederhergestellt und die Auswahl wiederhergestellt, dann wird das event ausgelöst wird, weil technisch gesehen ist der ausgewählte index geändert haben, wenn die Steuerung wurde neu erstellt. Der Grund, warum ich vermute, das ist, dass das Ereignis ausgelöst, die für jeden dropdownlist...

  • Was wollen Sie erreichen? Cascading dropdown? oder Ein Ereignis ausgelöst werden, egal, welches dropdown-feuert? Soweit ich sehen kann, die Sie versuchen aufzurufen SomeEvent für alle drei dropdownlists.
  • Ich möchte ein Ereignis auslösen, egal, was dropdown ausgewählt ist.
  • Ist Ihre Veranstaltung SomeEvent ändern von Werten oder anderen dropdownlist? Wenn ja, dann würde es automatisch Feuer und andere Ereignisse.
  • das ist es nicht. Es nur liest den Wert des dropdowns.
  • Können Sie nach dem code für SomeEvent und Ihre pageload?
InformationsquelleAutor Achilles | 2010-03-12
Schreibe einen Kommentar