2010-06-21 7 views
1

J'ai un Javascript. Je veux appeler seulement au chargement de la page. Je ne veux pas appeler à postbacks .. (Asp.net 3,5)appeler Javascript au chargement de la page

+0

Désolé j'ai oublié de dire, javascript dans MasterPage. Donc, jscript est déclenché à chaque chargement de la page .. – Jack

+0

Je ne pouvais pas résoudre ce problème. Lorsque la page de contenu est en cours de chargement, JScript est en cours d'exécution. Je ne veux pas faire ça. Je veux appeler Jscript seulement une (1) fois. – Jack

Répondre

6

Dans votre code derrière:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     ClientScript.RegisterStartupScript(GetType(), "key", "someFunction();", true); 
    } 
} 
+0

Merci, mais il n'a pas résolu mon problème. – Jack

+0

Si vous voulez que le script s'exécute une seule fois, vous pouvez utiliser une propriété 'Session' qui indique si le script a été exécuté et, en fonction de sa valeur, inclure ou non le script. –

+0

Ok. Je pense qu'il est impossible d'exécuter une fois lors de l'initialisation du cycle de vie de la page maître. – Jack

-1
<html> 
<head> 

</head> 
<body onload="javascript:yourFunctionCall()"> 

</body> 
</html> 
+2

Cela fonctionnera toujours en postback –

+1

Ceci sera appelé en publication. –

+0

@Darin et @Joel vous avez tellement raison .. – Jack

0

mieux chose est d'appeler votre fonction de script Java à l'étiquette sur le chargement. Ici, le script java n'appelle qu'une seule fois, mais pas dans tous les postbacks.

0

Vous pouvez également joindre à l'événement de charge pour éviter accidentellement le remplaçant onload dans la balise body avec document.onload en JavaScript. Ceci n'est généralement qu'un problème avec les pages maîtres ayant des pages de contenu implémentant leur propre événement de chargement et remplaçant la page maître JavaScript.

<script type="text/javascript"> 
    function Page_loaded() { 
     //Do Work 
    } 

    if (document.all) { 
     //IE 
     window.attachEvent('onload', Page_loaded); 
    } else { 
     //Everything else 
     window.addEventListener('load', Page_loaded, false); 
    } 
</script> 
Questions connexes