Hériter d'un élément d'un "AjaxControlToolkit"

Signaler
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006
-
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006
-
Bonjour à tous,

en fait mon problème est le suivant : je voudrai hériter du controle "ValidatorCallout" de l'AjaxControlToolkit à fin de l'optimiser et de corriger certain bug dans mon appli (par exemple la gestion du z-index).

Par contre je ne vois pas comment redéfinir ce contrôle par quel bout commencer.

Quelqu'un aurait-il déjà fait ça ou aurait quelque piste ?

Je vous remercie d'avance pour votre aide.

Damien

8 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonsoir,

Tu as accés aux sources donc tu peux directement modifier le code mais il vaut mieux attendre la version "final" des contrôles plutot que d'essayer de corriger des bugs d'une version beta :-)

Tu peux aussi remonter le bug sur le forum de www.codeplex.com

En ce qui concerne l'héritage du contrôle, dis nous plus précisement quel est le problème afin que l'on puisse t'aider mais je te conseille malgré tout de ne pas hériter le controle pour corriger quelques bugs ...

<hr />Cyril - MVS - MCP
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006

Merci Cyril,

tes conseils sont toujours très appréciables.
En fait il y a 2 choses qui me dérangent dans le contrôle "ValidatorCalloutExtender" de l'AjaxControlToolkit :
- le code html généré n'est pas du tout optimisé, à la limite pour l'instant ce n'est pas le plus génant,
- lorsque j'utilise ce controle sur un div superposé sur un autre div, le "ValidatorCalloutExtender" apparait entre les 2 div, il est donc invisible sur le div supérieur.Il faudrait que je puisse gérer le z-index du controle.

Au vu de ce que tu m'as dis, je sais pas s'il y a un moyen simple de corriger cette dernière erreur?

Encore merci Cyril.

Damien
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Utilises CSS tu peux facilement cibler l'element et tu n'as pas besoin de modifier du code comme ca :-)

<hr />Cyril - MVS - MCP
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006

Pas bête !

Merci Cyril.
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006

...mais ça ne va pas être facile.
Le code qui est généré est en fait un tableau.
Il ne comporte ni ID, ni classe.

Je vais quand même essayer.
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006

Après réflexion, j'ai vraiment besoin de donner un ID à chaque contrôle.
Cela me permettra de pourvoir le manipuler.

Pour ça il faut que je puisse modifier (le mieux serait de pouvoir faire une sorte d'héritage) le fichier ValidatorCalloutBehavior.js.

Merci d'avance pour votre aide.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Une éventuelle solution crade consisterais peut être à rajouter un
dans la propriété ErrorMessage ? je connais pas exactement le fonctionnement du contrôle mais ca peut être utile, dans le cas de l'héritage d'un Extender c'est un peu plus compliqué que d'habitude car il faut aussi faire l'héritage dans le fichier JavaScript ... et réassocier le fichier JavaScript à ta nouvelle classe en utilisant le ClientScriptResource, normalement rien de très compliqué :-)

Bon courage et hésite pas à remonter tes remarques sur le forum du projet AjaxControlToolkit de codeplex ou sur le forum de www.asp.net

<hr />Cyril - MVS - MCP
Messages postés
28
Date d'inscription
mardi 27 septembre 2005
Statut
Membre
Dernière intervention
6 décembre 2006

Je n'ai pas eu le temps de m'y repencher sérieusement.
Pour l'instant je me le met de côté.
Je reprendrai ça un peu plus tard.

Je vous tiens au courant de mes avancés.