Deaktivieren asp.net dynamische button click-event beim postback, und aktivieren Sie es anschließend
Erstelle ich ein button dynamisch in meinem code anbringen und ein click-Ereignis zu. Aber ich muss verhindern, dass Menschen zu klicken Sie auf es, während es ist ein Prozess Los. Also, wenn es einmal gedrückt wird, sollte es deaktiviert werden, und wenn der Prozess endet, sollte es aktiviert werden. Wie kann ich das tun?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
onclick="this.enabled=false" hinzufügen, das aus dem code hinter Ihrem control
btnAdd.Attribute.Add("onclick", "dies.enabled=false;");
Dieser link erklärt im detail, http://encosia.com/2007/04/17/disable-a-button-control-during-postback/
Wenn Sie die Verarbeitung per ajax, wenn der button geklickt wird-
1. Deaktivieren Sie die Schaltfläche, wenn die Verarbeitung gestartet
2. Aktivieren der Schaltfläche befindet, nachdem die Verarbeitung abgeschlossen ist
Wenn Sie die Taste postbacks, die beste Möglichkeit ist das deaktivieren der Schaltfläche, wenn darauf geklickt wird per javascript [ich werde nicht vorschlagen, jquery nur für diese Besondere Aufgabe]. Da nach postback wird der button aktiviert werden, wie es früher war, brauchen Sie nicht zu befürchten aktivieren.
Hoffe, das hilft.
Ich würde einem UpdatePanel-arround Sie die Taste. Auf Klick können Sie Server-Side-deaktivieren Sie die Schaltfläche. Verwenden Sie einen trigger auf dem updatepanel, der schaut alle x Sekunden, wenn Ihr extern-Prozess hat wieder ein Ergebnis. Und ich würde Ihnen raten, die Quelle, aus lang laufende Prozesse in einen windows-Dienst.