Auteur : Builder, Tony Patton
Bien qu'ASP.NET fournisse une plate-forme puissante, les développeurs ne doivent pas ignorer les technologies matures telles que JavaScript. Dans cet article, Tony
Patton explique comment intégrer JavaScript aux contrôles ASP.NET dans le développement Web.
Bien que les plates-formes de développement Web offrent une flexibilité et de nombreuses fonctionnalités, vous souhaitez ou devez souvent vous appuyer sur les technologies existantes pour accomplir une tâche nécessaire. Un bon exemple est ASP.NET, qui fournit une plate-forme de développement puissante, mais en même temps des technologies matures comme JavaScript. ne doit pas non plus être ignoré. Dans cet article, je vais vous expliquer comment connecter du code JavaScript aux contrôles ASP.NET.
manière conventionnelle
En règle générale, lorsqu'une application Web nécessite une fenêtre contextuelle ou de confirmation ou une autre fonctionnalité côté client, vous créez les méthodes JavaScript nécessaires et les appelez si nécessaire. Par exemple, le listing A contient une fenêtre de confirmation que l'utilisateur peut utiliser pour continuer ou annuler l'envoi du formulaire.
Après avoir sélectionné le bouton Soumettre, la méthode confirmSubmit de JavaScript est appelée. Cette invite de confirmation permet à l'utilisateur de procéder à la soumission du formulaire (sélectionnez Confirmer) ou d'annuler (sélectionnez Annuler).
Le code ci-dessus fonctionne comme prévu, mais ce n'est pas si simple lorsque l'on travaille sur une plateforme de développement telle qu'ASP.NET.
Options de remplacement pour ASP.NET
ASP.NET prend en charge l'utilisation d'éléments HTML tels que des boutons de saisie et des zones de texte, mais il existe un ensemble complet d'éléments de contrôle qui fournissent des fonctionnalités supplémentaires basées sur le modèle de développement d'ASP.NET.
L'association de JavaScript à ASP.NET n'est pas aussi simple que l'approche directe HTML/JavaScript. Le modèle de programmation ASP.NET fournit des méthodes dans la classe de page de base pour attacher des blocs de script aux éléments de page. Les méthodes suivantes peuvent être utilisées pour attacher ou intégrer du JavaScript dans une page ou un élément de page :
je
RegisterClientScriptBlock : permet à votre page de contenir des blocs de script et des scripts côté client dans l'objet de page <form
runat=
Il commence à s'exécuter après la balise d'ouverture de l'élément server>. Le bloc de script soumet la sortie en tant qu'objet, vous devez donc ajouter deux balises d'élément <script>.
je
RegisterOnSubmitStatement : vous permet d'attribuer un bloc/une méthode de script à l'événement OnSubmit de l'objet de page.
je
RegisterStartupScript : permet d'inclure des blocs de script dans la page, similaire à la méthode RegisterClientScriptBlock. Cette méthode se trouve dans l'objet page <form.
runat=
S'exécutant avant la balise de fermeture de l'élément server>, le bloc de script soumet la sortie en tant qu'objet, vous devez donc ajouter deux balises d'élément <script>.
Chaque méthode peut accepter deux paramètres : key et script. La clé est le nom attribué au bloc de script. La valeur de clé doit être unique, plusieurs instances contrôlées par le serveur peuvent demander le bloc de script, sans avoir à le faire. exécutez à nouveau le script sur le flux de sortie ; le deuxième script de paramètre contient le script réel envoyé au client, qui peut être le code JavaScript complet ou le nom d'une méthode.
Ces méthodes peuvent être utilisées dans le code de page ASP.NET réel, qu'il s'agisse de VB.NET, C#, J# ou de tout autre langage. Le listing B montre l'exemple de code ASP.NET écrit en C#.
Les méthodes JavaScript sont construites via une variable chaîne, sa valeur est transmise à la méthode RegisterClientScriptBlock comme deuxième argument et le nom réel de la méthode est transmis via les attributs de l'objet.
La méthode Add de la propriété est affectée au contrôle bouton ASP.NET. L'événement JavaScript est passé en tant que premier paramètre et le nom de la méthode est le deuxième paramètre.
De plus, vous remarquerez peut-être l'utilisation de la méthode IsStartupScriptRegistered, qui permet de confirmer si le script a été enregistré avant de continuer à l'utiliser. Il existe deux méthodes pour résoudre ce problème :
je
IsStartupScriptRegistered : Confirme si le script de démarrage du client a été enregistré sur l'objet page. Son seul paramètre est le nom du script.
je
IsClientScriptBlockRegistered : Confirme si le bloc de script du client a été enregistré sur l'objet page. Son seul paramètre est le nom du script.
Une autre façon de résoudre le problème consiste à utiliser la méthode RegisterOnSubmitStatement de la classe page. Le listing C répète la fonction du listing B, mais la différence est que la méthode confirmSubmit est connectée à l'événement submit de la page au lieu de l'événement click de la page. bouton.
Cet exemple simple illustre clairement comment inclure des blocs de script JavaScript et des scripts JavaScript dans des contrôles sur une page ASP.NET. Si vous utilisez des contrôles ASP.NET, cette approche peut vous aider à attacher des scripts à ces contrôles, mais vous pouvez également utiliser la méthode d'enregistrement. pour centraliser le JavaScript d'un projet. Vous pouvez créer un fichier de classe contenant les scripts et les utiliser dans les pages selon vos besoins. De cette façon, il vous suffit de gérer les scripts en un seul endroit et de les utiliser sur une ou plusieurs pages d'une application.
Une combinaison d'ancien et de nouveau. Quelle que soit la plate-forme de développement sur laquelle vous vous trouvez, il est peu probable que vous abandonniez l'utilisation de JavaScript comme langage de script côté client. JavaScript est la norme pour développer des fonctions côté client. un grand nombre de fonctions, JavaScript doit souvent être "marié" à ces contrôles. Heureusement, la classe de page ASP.NET contient de nombreuses méthodes pour intégrer des blocs de script et des méthodes dans la page et ses contrôles.