Bonne pratique .NET : Les dessous de Attributes.Add

Writing by jfmathieu on Friday, 16 of February , 2007 at 11:13 pm

Le langage .NET (ASP.NET) fait beaucoup de choses pour le programmeur. Il nous donne accès du côté serveur (code behind ou inline) à plein de fonctionnalité sans parler de l’IntelliSense. Il nous permet aussi par le code côté serveur d’ajouter des événements côté client comme “RegisterClientScript” ou “Boutton.Attributes.Add()“.

Cependant comme toute chose il peut y avoir des inconvénients, entre autres lorsque nous ajouter des événements avec “Attributes.Add” et que nous avons aussi un “component” de validation comme le “RequiredField” ou le “RegexValidator“.

Le cas que j’ai vécu avait un bouton avec un Attributes.Add( “onClick” , “valideForm()” ).

Bouton avec Attributes.Add

Le problème est survenu lorsque j’ai rajouté à ma page les contrôles de validation comme le “RegEx Validator“. À ce moment la page en question m’affiche une erreur Javacript.

Erreur Javascript
Le message d’erreur me dit qu’il me manque un “;” ce qui est surprenant comme la page fonctionnait quelques minutes auparavant. Après un analyse plus poussée du problème (en regardant la source HTML), j’ai découvert que .NET avait rajouté après mon “valideForm” une autre fonction javascript.

La fonction .NET et ma fonction

Et que comme je n’avais pas mis le “;” à la fin de la linge Attributes.Add( “onClick” , “valideForm();” ) quand il a rajouté sa propre validation la page n’était plus fonctionnel au niveau du javascript.

Avec le point-vigule

En conclusion, c’est une bonne pratique, dans tous les langages de programmation, qui agit avec du javascript (Java, PHP, ASP.NET), de mettre le “;” en fin de ligne même s’il n’est pas nécessaire pour le bon fonctionnement du programme.

Leave a comment

Category: .NET, Astuce, Developpement, Général, JavaScript

No Comments

No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
Pour démontrer que vous êtes un humain et non un robot tapez le mot qui est écrit sur l'image.
Anti-Spam Image

Hosting powered by 1&1 Hosting and by WordPress

WEB, TI & Programmation

Réflexions, outils et astuces par Jean-Francois Mathieu


Développeur internet depuis plusieurs années, je conçois, évalue et développe des solutions d'affaire électronique pour les entreprises. Les principales technologies utilisées sont Microsoft .NET (ASP, WebService, Window Service) avec MS SQL Server ou PHP avec MySQL. Pour le côté client, j'utilise le Javascript et le XML (AJAX) pour des solutions plus intéressantes pour l'utilisateur.