Asp.net - ajouter un bloc de script javascript dans une page asp.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 227 fois - Téléchargée 37 fois

Contenu du snippet

Un ajout de bloc de script Client (javascript) peut poser problème, car celui-ci ne doit être fait qu'une seule fois.
Or, si le script en question est inclu dans un User control qui sera lui-même inséré dans un datarepeater ou datagrid, le code javascript doit rester unique.

Ainsi la méthode est de passer par un couple de fonction .NET qui associera un bloc avec une Clé et testera alors la présence de cette clé.

Source / Exemple :


'-- Premier exemple avec un DIV à ajouter dans une page .NET

Dim DeclarationDIV As String = "<div id='overDiv' style='position:absolute; visibility:hidden; z-index:1000;'></div>"

If Not Page.IsClientScriptBlockRegistered("DeclarationDIV") Then
 Page.RegisterClientScriptBlock("DeclarationDIV", DeclarationDIV)
End If

'-- Second exemple avec un ajout de référence vers un fichier .JS dans une page .NET

Dim IncludeScript As String = ControlChars.CrLf & "<script language='javascript' src='LeRepertoire/LeFichier.js'></script>"

If Not Page.IsClientScriptBlockRegistered("DeclarationFichierJS") Then
 Page.RegisterClientScriptBlock("DeclarationFichierJS", includeScript)
End If

'-- Troisième exemple avec un ajout de fonction JS dans une page .NET (Issu de la MSDN)

Dim scriptString as String = "<script language=JavaScript> function DoClick() {"
 scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<"
 scriptString += "/"
 scriptString += "script>"
      
If(Not IsClientScriptBlockRegistered("clientScript"))
 RegisterClientScriptBlock("clientScript", scriptString)
End If

Conclusion :


On peut utiliser la même méthode avec les liaison vers un fichier CSS par exemple.

Bon coding.

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire Commentaires
gatita_dev Messages postés 135 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 5 février 2008
13 oct. 2006 à 11:02
oui mais si je fais les même instruction dans une fonction javascript sans passé par asp ça fonctionne
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
12 oct. 2006 à 19:08
Bonjour,

Il faut controler que le nom de votre objet possède bien le nom utilisé dans Javascript. Ceci se fait dans le code HTML résultat.
Cordialement
Romelard Fabrice
gatita_dev Messages postés 135 Date d'inscription vendredi 27 mai 2005 Statut Membre Dernière intervention 5 février 2008
12 oct. 2006 à 14:55
J'ai bien apprécié votre code il m'a beaucoup aidé parce que je savais pas comment intégrer du javascript dans le codebehind de ma page aspx, mais j'ai une petite question:
quand je met une instruction javascript qui pointe sur un objet de la page il me retourne une valeur null par exemple
"document.getElementById('element').value" ne retourne aucune valeur.
s'il y a une solution je vous prie de m'aider.
merci dans tous les cas

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.