【问题标题】:How do you get client-side script to execute on an ASP.NET postback? (from an UpdatePanel)如何让客户端脚本在 ASP.NET 回发上执行? (来自更新面板)
【发布时间】:2011-03-16 12:54:30
【问题描述】:

基本上,我希望将一些 javascript 发送回客户端并从 UpdatePanel 内的回发中执行。此外,这是一个可重用的 WebControl 内部。

我尝试了this.Page.ClientScript.RegisterStartupScriptthis.Page.ClientScript.RegisterClientScriptBlock,但 Firebug 显示这些脚本没有在回发的响应中发回。

我还尝试在 Render 方法中直接在控件的主 div 中编写一个 <script> 标记,该标记确实会被发送回,但不会被执行。

我得到了一个有效的解决方案,但最好是寻找一个更清洁的解决方案。 hack 是添加一个 1x1 像素 img 并将宽度/高度设置为 0 并将其用于 onload 事件以执行脚本并且有效,但似乎必须有一种更清洁的方法来做到这一点。

【问题讨论】:

    标签: asp.net javascript updatepanel


    【解决方案1】:

    如果我理解正确,请查找 endRequest 事件 - 以避免加载图像。使用此代码,您可以在 javascript 端获得面板更新事件。

    var prm = Sys.WebForms.PageRequestManager.getInstance();    
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
    
    function InitializeRequest(sender, args) {      
    }
    
    function EndRequest(sender, args) {
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      相关资源
      最近更新 更多