Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 4th, 2012  |  syntax: None  |  size: 1.40 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How do I generate JavaScript during an AJAX callback (postback) and then execute it on the browser?
  2. void AjaxHandler(object sender, EventArgs e)
  3. {
  4. // call to database
  5. string jscript = "alert('wibble');";
  6. ScriptManager.RegisterStartupScript(this, this.GetType(), "uniqueKey", jscript);
  7. }
  8.        
  9. ScriptManager.RegisterClientScriptBlock()
  10. Page.RegisterStartupScript()
  11. Page.RegisterClientScriptBlock()
  12. Page.ClientScript.RegisterStartupScript()
  13. Page.ClientScript.RegisterClientScriptBlock()
  14.        
  15. ScriptManager.RegisterStartupScript(this, this.GetType(), "uniqueKey", jscript, true);
  16.        
  17. <asp:ScriptManager runat="server" ID="scriptManager">
  18. </asp:ScriptManager>
  19. <script type="text/javascript">
  20.  
  21.     function endRequestHandler(sender, args) {
  22.         var dataItems = args.get_dataItems();
  23.         for(var key in dataItems){
  24.             if(/^javascript:/.test(dataItems[key])){
  25.                 eval(dataItems[key].substring("javascript:".length));
  26.             }
  27.         }
  28.     }
  29.     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
  30.  
  31. </script>
  32.  
  33. <asp:UpdatePanel runat="server" ID="pnl">
  34.     <ContentTemplate>
  35.         <asp:Button runat="server" ID="btnClick" Text="Click me!" OnClick="btnClick_Click" />
  36.     </ContentTemplate>
  37. </asp:UpdatePanel>
  38.        
  39. protected void btnClick_Click(object sender, EventArgs e)
  40. {
  41.     ScriptManager.GetCurrent(Page).RegisterDataItem(this, "javascript:alert('hello world!');");
  42. }