Zweimaliges Ausführen einer Ereignisprozedur...

08/06/2008 - 11:41 von Uwe Ricken | Report spam
Hallo zusammen,

ich habe ein seltsames Verhalten, dass ich aber nicht so richtig
nachvollziehen kann.
Umgebung:
ASP 2.0
In einem WebForm habe ich ein Dropdown-Listenfeld dessen Ereignis
"OnSelectedIndexChanged" mit einer Prozedur verarbeitet wird. Die
Konfiguration des Dropdown-Listenfeldes sieht wie folgt aus:

<asp:DropDownList ID="cboTracking" runat="server"
OnSelectedIndexChanged="cboTracking_SelectedIndexChanged"
AutoPostBack="True" </asp:DropDownList></td>

In dieser Prozedur habe ich nun (als Beispiel) Folgendes stehen:

Protected Sub cboTracking_SelectedIndexChanged(ByVal sender As Object, ByVal
e As System.EventArgs) Handles cboTracking.SelectedIndexChanged
Response.Write("Jetzt geht's los")
End Sub

Wenn ich die Seite teste, erhalte ich den Eintrag "Jetzt geht's los" immer
zweimal hintereinander. Daraus schließe ich also, dass das Ereignis zweimal
gefeuert wird. Letztendlich sollen aber duch diese Prozedur "spàter" Daten
vom SQL Server geholt und verarbeitet werden.

Ich weiß nicht, warum das Ereignis zwei mal gestartet wird. Schalte ich
AutoPostback auf "False" passiert nichts!

Vielen Dank für Eure Unterstützung...

H

Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

db-Berater GmbH - 64390 Erzhausen
http://www.db-berater.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
08/06/2008 - 14:20 | Warnen spam
Hallo Uwe,

"Uwe Ricken" schrieb:

<asp:DropDownList ID="cboTracking" runat="server" OnSelectedIndexChanged="cboTracking_SelectedIndexChanged" AutoPostBack="True"
</asp:DropDownList></td>

In dieser Prozedur habe ich nun (als Beispiel) Folgendes stehen:

Protected Sub cboTracking_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles
cboTracking.SelectedIndexChanged



Durch die Zuweisung OnSelectedIndexChanged="cboTracking_SelectedIndexChanged"
und zusàtzlich "Handles cboTracking.SelectedIndexChanged" wird das ganze
zweimal ausgeführt. Eine der beiden Angaben solltest Du weglassen. Falls das
nicht hilft, schau mal, ob "AutoEventWireup" auf True steht, falls ja, àndere
das mal auf False.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen