2010-04-08 4 views

Répondre

2

Vous devez utiliser le gestionnaire Page.ClientScript.

Le code suivant n'enregistre votre code qu'une seule fois par page.

if (!page.ClientScript.IsClientScriptBlockRegistered(tType, "MyScript")) 
{ 
    page.ClientScript.RegisterClientScriptBlock(tType, "MyScript", sScript); 
} 

Vous pouvez également vous assurer que * .js sont ajoutés une seule fois

if (!page.ClientScript.IsClientScriptIncludeRegistered(tType, "MyScriptFile")) 
{ 
    page.ClientScript.RegisterClientScriptInclude(tType,"MyScriptFile","MyJavaScript.js") 
} 
+0

Cela irait dans le codebehind, à tout moment est acceptable, le ClientScript ne le rendra pas jusqu'à la phase de rendu – Glennular

+0

Ne devrait-il pas être «si pas enregistré» au lieu de «si enregistré»? – Steven

+0

Merci d'avoir attrapé mes fautes de frappe! – Glennular

1

Pourriez-vous placer le code javascript dans un fichier .js distinct et référencer ce fichier common.js depuis la page Web ou la page maître?

+0

Cela fait plus de sens et il est pratique assez courante aussi. – Raja

+2

Je ne suis pas d'accord. La fonction doit être définie dans le contrôle utilisateur au lieu de globalement pour la réutilisation du code. Ce serait comme définir les fonctions des membres de la classe globalement plutôt que dans la classe. – Steven

Questions connexes