2017-03-26 2 views
0

Ich habe zwei Tasten (ButtonA & ButtonB) und ein Textfeld (TexboxA) auf einer aspx-Seite.Reihenfolge der Postback Calls

Auf der TexboxA 's Unschärfe, rufe ich das Javascript-Ereignis, um die ButtonA programmgesteuert zu klicken.

Meine Frage ist:

  1. Wenn ich auf dem TextBoxA bin konzentriert, dann klicken ich direkt die ButtonB, das erste Ereignis ausgelöst ONCLICK? ButtonA_Click - da ich den Fokus von TextBoxA verliere und ButtonA starte, klicke programmgesteuert oder ButtonB_Click - weil ich direkt darauf klicke?

  2. Wie zu verhindern ButtonB_Click ausgelöst vor ButtonA_Click vollständig fertig?

Aspx-Code:

<asp:TextBox ID="TextBoxA" runat="server" onblur="ClickA();"/> 

<asp:Button ID="ButtonA" runat="server" OnClick="ButtonA_Click();"/> 

<asp:Button ID="ButtonB" runat="server" OnClick="ButtonB_Click();"/> 

JS-Code:

function ClickA(){ 
    document.getElementById('<%=ButtonA.ClientId%>').click(); 
} 

Antwort

0

Vielleicht Ihre ganze Logik ist nicht sehr gut, aber wenn Sie etwas auf Client-Seite tun müssen, bevor anrufen Im Server-Code können Sie die Methode OnClientClick Ihres Buttons verwenden.

Dies ermöglicht auch den serverseitigen Methodenklick abzubrechen.

Siehe hier zum Beispiel:

Asp .NET Button - OnClientClick="return function()" vs OnClientClick="function()" Und https://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.button.onclientclick(v=vs.110).aspx

Wenn die Ausführungsreihenfolge von Server-seitigen Code Angelegenheiten, vielleicht sollten Sie es auf Server-Seite sicherzustellen, anstatt zu versuchen, es auf Client-Seite zu beschränken.

Verwandte Themen