回拨电话的顺序

时间:2017-03-26 16:20:20

标签: javascript c# asp.net webforms

我在aspx页面上有两个按钮(ButtonA& ButtonB)和一个文本框(TexboxA)。

TexboxA模糊,我调用Javascript事件以编程方式点击ButtonA

我的问题是:

  1. 当我专注于TextBoxA时,我直接点击ButtonB,首先触发onclick事件? ButtonA_Click - 因为我正在失去TextBoxA的焦点并以编程方式触发ButtonA,或者 ButtonB_Click - 因为我是直接点击它?

  2. 如何防止在ButtonB_Click完成之前触发ButtonA_Click

  3. Aspx代码:

    <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代码:

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

1 个答案:

答案 0 :(得分:0)

也许你的整个逻辑都不是很好,但是如果你需要在客户端做一些事情才能调用服务器代码,你可以使用按钮的OnClientClick方法。

这也允许中止服务器端方法单击。

见这里例如:

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

如果服务器端代码的执行顺序很重要,也许你应该在服务器端确保它,而不是试图在客户端限制它。