【问题标题】:Order of execution of javascript function and code behind function?javascript函数的执行顺序和函数后面的代码?
【发布时间】:2012-09-10 05:28:39
【问题描述】:

我有一个 asp 服务器按钮,我有 onClick 用于代码执行背后的代码,onClientClick 用于执行 javascript 函数。

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        style="z-index: 1; left: 648px; top: 202px; position: absolute" 
        Text="Show route" OnClientClick="droute(); return false" />

我无法确定是先生成 onClick 事件还是先执行 onClientClick 还是并行运行?我希望先生成 onClick 事件,然后再生成 onClientClick,因为后者需要从前者检索的值。

【问题讨论】:

    标签: javascript asp.net button code-behind


    【解决方案1】:

    如果您想控制执行顺序,您可以只创建一个 javascript 函数,以所需的顺序调用您的其他两个函数,然后将该函数挂接到 onclick 上,而不是将任何内容留给 ASP.NET?

    <asp:Button ID="Button1" runat="server" onclick="thisClick()" 
        style="z-index: 1; left: 648px; top: 202px; position: absolute" 
        Text="Show route"/>
    
    function thisClick() {
        Button1_Click.apply(this, arguments);
        droute.apply(this, arguments);
        return false;
    }
    

    【讨论】:

    • 我收到一个错误:'ASP.welcome_aspx' 不包含'thisClick' 的定义,并且没有扩展方法'thisClick' 接受'ASP.welcome_aspx' 类型的第一个参数可能是找到(您是否缺少 using 指令或程序集引用?)
    • @Cdeez - 我的原始帖子中的 HTML 有错字,我已更正。
    • 这不是问题所在。它是 onclick 吗?因为 onclick 在后面的代码中查找函数对吗?我改为onclientclick,没有错误。但在萤火虫中,我在 thisClick dint execute 中放置了断点和代码
    • 更新:仅将 thisClick() 分配给 onClientClick 有效。断点显示在函数 thisClick() 中,只执行 Button1_Click.apply(this, arguments); 行,然后重新加载页面。下一行 droute() 没有执行
    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2021-09-09
    相关资源
    最近更新 更多