Es scheint, dass manchmal (aber nicht immer) mein Button Click Event zweimal ausgelöst wird. Die Tatsache, dass es manchmal vorkommt, aber nicht immer, verwirrt mich sehr. Hier ist mein Knopf:
%Vor%Sieht nach dem Problem mit der Verkabelung von Event-Handlern aus. Ссылка
Versuchen Sie, ob Sie Event-Handler in Ihrem Backend haben können. Auch könnte das Problem wegen des Typs="Submit" sein. Überprüfen Sie, ob das Ändern auf nur Button das Problem behebt.
Ein möglicher Grund:
Überprüfen Sie Ihre Button-Deklaration in Ihrer ASPX-Quelle. Wenn Sie ein 'runat=server'
und onclick="button1_click"
haben und Sie einen Event-Handler in Ihrem Code-Behind haben (zB .aspx.vb),
Das Ereignis wird zweimal ausgelöst. Hier ist ein Beispiel in xxx.aspx:
Diese Deklaration sollte sein:
%Vor%Viel Glück!
Der richtige Weg (auf der ASP.NET-Webformularseite), wie bereits von anderen Mitwirkenden hervorgehoben, besteht darin, dem Element das Attribut type="button" hinzuzufügen und zu verknüpfen ein onserverclick Event-Delegate-Handler.
Zum Beispiel:
%Vor%Hoffe, das hilft.
Ich hatte dasselbe Problem, aber eine ganz andere Ursache. Ich habe die Eigenschaft container panel defaultbutton so eingerichtet, dass die Schaltfläche zweimal ausgelöst wird. Nach dem Entfernen der Eigenschaft " DefaultButton " aus dem Asp: Panel ist das Problem gelöst.
Ich musste mich einfach noch einmal in den ASPX der alten Schule vertiefen und habe dieses Problem gefunden.
Mein Formular wurde so eingerichtet.
%Vor%Der Code dahinter war
%Vor%Die Antwort für mich war, das DefaultButton-Attribut aus dem Panel zu entfernen und
hinzuzufügen %Vor%zum LinkButton.
Wenn Sie asp.net verwenden, verwenden Sie einfach asp: button ..... es ist sauber und einfach. Egal, welche Rechtfertigung ich im Netz lese, es macht keinen Sinn, dass der Server-Side-Handler zweimal aufgerufen werden sollte. Wenn ich type="button" hinzufüge, ist das Problem gelöst. Das Formular wird jedoch nicht gesendet, wenn ich die Eingabetaste drücke. Das ist also ein weiteres Problem, das gelöst werden muss. Die Verwendung der asp: -Schaltfläche kümmert sich um all dies.
Tags und Links asp.net