2010-04-30 7 views
0

comment puis-je ajouter un fichier javascript à la tête de page à partir d'un contrôle utilisateur?Ajouter un script à la page du contrôle utilisateur .ASP.NET

Merci

+0

Juste par curiosité pourquoi voulez-vous faire cela? Vous pouvez simplement ajouter le fichier JS au contrôle utilisateur et cela fonctionnera. – Raja

+1

@Raja - Cela se traduirait par l'inclusion de ce fichier javascript chaque fois que le contrôle de l'utilisateur est. –

+0

@Nick - hmm ... est assez logique. Si elle est utilisée une seule fois dans une page, alors ce serait bien, mais si elle est utilisée à plusieurs endroits dans la même page, ce serait un fichier supplémentaire ajouté. – Raja

Répondre

0

utilisation Page.RegisterStartupScript("pranay","javascriptFunction()")

mettre cette chose en vous chargez la méthode de contrôle de l'utilisateur

check this out:

http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx

+0

Cela entraînera l'inclusion du fichier javascript plus d'une fois si le contrôle a plusieurs instances sur la page. –

+0

Sauf si je le fais if (! Cs.IsStartupScriptRegistered (type, scriptName)) { cs.RegisterStartupScript (type, scriptName, script, true); } – GigaPr

+1

@ARS, ce n'est pas vrai. Le premier argument passé dans 'RegisterStartupScript' est un paramètre clé utilisé pour identifier un morceau de JavaScript. Tenter d'ajouter un script avec la même clé ne créera pas de doublon du script. –

0

Utilisez-vous la page principale de votre site ? Si oui, vous devriez faire toutes ces inclusions dans la page maître. Mais alors aussi vous pourriez faire face à un problème avec le chemin du fichier javascript. Vous pouvez inclure le fichier de la manière suivante:

<script type="text/javascript" language="javascript" src="<%= this.ResolveClientUrl("~/Script/jquery.js") %>"></script> 

Si vous souhaitez le faire à partir du contrôle utilisateur. Essayez ce qui suit:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 

     ' Define the name, type and url of the client script on the page. 
     Dim csname As String = "ButtonClickScript" 
     Dim csurl As String = "~/script_include.js" 
     Dim cstype As Type = Me.GetType() 

     ' Get a ClientScriptManager reference from the Page class. 
     Dim cs As ClientScriptManager = Page.ClientScript 

     ' Check to see if the include script is already registered. 
     If (Not cs.IsClientScriptIncludeRegistered(cstype, csname)) Then 

      cs.RegisterClientScriptInclude(cstype, csname, ResolveClientUrl(csurl)) 

     End If 

    End Sub 
+0

Je me suis trompé quand j'ai dit que le fichier javascript étant inclus plus d'une fois si le contrôle a plusieurs instances sur la page. D'où mis à jour ma réponse. –

Questions connexes