2010-11-15 8 views
3

J'ai un panneau asp.net qui est initialement caché et est montré quand un bouton est cliqué. Il y a javascript à l'intérieur de ce panneau et il ne s'exécute pas après que le panneau soit défini pour être visible. Je peux voir que la fonction javascript est sortie sur la page mais elle n'est pas appelée. Que puis-je faire pour que la fonction soit appelée? Voici un exemple:Javascript ne s'exécutant pas après le rendu partiel

<asp:LinkButton id="lbtn" runat="server" Text="show" OnClick="lbtn_Click" /> 
    <asp:UpdatePanel id="upnl" runat="server" UpdateMode="Conditional"> 
     <contenttemplate> 
     <asp:panel id="pnlContent" runat="server" visible="false"> 
      content initially hidden. 

      <script> 
       alert('done!'); 
      </script> 
     </asp:panel> 
    </contenttemplate> 
    <triggers> 
     <asp:AsyncPostBackTrigger ControlID="lbtn"/> 
    </triggers> 
</asp:UpdatePanel> 

Répondre

0

Plutôt que de le faire, pourquoi ne pas utiliser l Page.ClientScript.RegisterStartupScript() pour déclencher son exécution.

1

Vous voudrez probablement avoir une sorte de méthode de demande de fin qui est appelée chaque fois qu'une méthode ajax est appelée. cela devrait être sous la ressource de script.

<script type="text/javascript"> 

    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(function(sender, args){ alert("endRequest"); }); 

</script> 
Questions connexes