2010-07-01 9 views
1

J'ai un contrôle Asp.Net à l'intérieur d'un panneau de mise à jour qui se trouve dans un popup modal. Je ne vais pas enregistrer le code javascript dans le client à partir du code de contrôle.Enregistrer le code javascript du serveur

ceux-ci est mon code:

Dim output As String = .. javascript code 
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "frmulaMatrix", output, True) 

c'est mon deuxième thinf mais ne fonctionnent pas

Page.RegisterClientScriptBlock("SCRIPTNAME", "<script language='javascript'>" + output+"</script>") 
+0

Oui certaines fonctions – user368038

Répondre

3

Vous devez essayer de le faire dans un retour partiel après.

Vous devriez le faire comme ceci.

ScriptManager scriptManager = ScriptManager.GetCurrent(Page); 
    if (scriptManager != null && scriptManager.IsInAsyncPostBack) 
    { 
    //if a MS AJAX request, use the Scriptmanager class 
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), scriptKey, script, true); 
    } 
    else 
    { 
    //if a standard postback, use the standard ClientScript method 
    Page.ClientScript.RegisterStartupScript(Page.GetType(), scriptKey, script, true); 
    } 
1

La deuxième méthode est déconseillée. Où dans le cycle de vie de la page appelez-vous ce code?

0

essayez sans les balises de script. Je crois que le gestionnaire de script ajoute automatiquement

script = @"function onBeginRequest myJavascript{ 
//bla bla 
         } 


       this.Page.ClientScript.RegisterStartupScript(this.GetType(), "frmulaMatrix", script, true); 
+0

Savez-vous ce que vous avez écrit? Je pense que quelque part vous n'avez pas formaté votre réponse correctement – IsmailS

Questions connexes