Laden...

Click Event gleichzeitig - Server/Client - ausführen

Erstellt von ben vor 16 Jahren Letzter Beitrag vor 16 Jahren 10.873 Views
B
ben Themenstarter:in
200 Beiträge seit 2006
vor 16 Jahren
Click Event gleichzeitig - Server/Client - ausführen

Hallo,

Mein Problem ist es, dass ich es einfach nicht fertig kriege, dass der Button(asp:Button) Event auf dem Server gleichzeitig wie der Event des Javascripts ausgeführt werden...

Da die Ladezeit unter umständen etwas dauern könnte, möchte ich eigentlich den Button deaktivieren. Weiss jedoch nicht, wie ich das gleichzeitig machen kann...

Mit dem <form onsubmit="..." funktioniert das leider auch nicht.
Es wird, wie auch wenn ich Control.Attribut.Add("...", "...") dem asp:Button hinzufüge nur das Javascript ausgeführt...

Danke schon mal jetztig, für allfählige Antworten!

mfg ben

1.373 Beiträge seit 2004
vor 16 Jahren

Hallo,

Was willst du denn überhaupt bezwecken?

Grüße,
Andre

B
ben Themenstarter:in
200 Beiträge seit 2006
vor 16 Jahren

_Original von VizOne_Was willst du denn überhaupt bezwecken? Das man nicht zweimal auf den Button klickt. 🙂
Wie gesagt, der Vorgang kann unter umständen etwas dauern (Fileupload, bzw. Datenbank Zugriff).

Möchte keine doppelten Einträge in der Datenbank.

mfg

5.941 Beiträge seit 2005
vor 16 Jahren

Hallo Ben

Original von ben
Das man nicht zweimal auf den Button klickt. 🙂
Wie gesagt, der Vorgang kann unter umständen etwas dauern (Fileupload, bzw. Datenbank Zugriff).

Möchte keine doppelten Einträge in der Datenbank.

Setzte das Html Element doch einfach per Javascript auf "disabled".


<asp:Button ID="btnLongOperation" OnClientClick="this.disabled = true;" Text="LongOperation..." runat="server" />

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

B
ben Themenstarter:in
200 Beiträge seit 2006
vor 16 Jahren

danke für die Antwort!

leider kommt dabei das selbe raus, leider.

5.941 Beiträge seit 2005
vor 16 Jahren

Hallo Ben

Original von ben
danke für die Antwort!
leider kommt dabei das selbe raus, leider.

Wie Recht du hast 🙂
Füge z.B. im Page_Load folgendes Attribut ein:


this.btnLongOperation.Attributes.Add("onclick", "this.disabled = true; this.value = 'Bitte warten...'; " + ClientScript.GetPostBackEventReference(btnLongOperation, null));

Das löst ein anschliessendes PostBack mithilfe von Javascript aus.


__doPostBack('btnLongOperation','')

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

B
ben Themenstarter:in
200 Beiträge seit 2006
vor 16 Jahren

Vielen Dank für die Wertvolle Antwort!
Bin schon schier verzweifelt. Jetzt kann ich wieder gut schlafen 🙂

mfg ben

5.941 Beiträge seit 2005
vor 16 Jahren

Salute Ben

Original von ben
Vielen Dank für die Wertvolle Antwort!
Bin schon schier verzweifelt. Jetzt kann ich wieder gut schlafen 🙂

Dann bin ich aber erleichtert, hihi.
Du hast mich dazu angeregt, ein Control dafür zu schreiben, evt. interessiert dich das auch.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

B
ben Themenstarter:in
200 Beiträge seit 2006
vor 16 Jahren

Hallo Peter Bucher,

Eine eigene Klasse für diese Funktion ist eigentlich eine ganz gute Sache 👍

Danke nochmals!
mfg ben