Ajax Asp.net/Atlas - Les behaviors
Octobre 30th, 2006Qu'est ce qu'un Behavior?
L'un des fondement du framework Ajax Asp.net est la possibilité de créer des comportements. Ces comportements pourront alors être appliqué à des éléments de votre page. Par exemple vous voulez ajouter la possibilité de déplacer votre objet à l'intérieur de votre page.
La partie CTP Value Add de la dernière version du framework contient déjà des behaviors :
- Click behavior
- Floating behavior
- Hover behavior
- Layout behavior
- Opacity behavior
- Popup behavior
Toutes ces classes ont en commun de dériver de la classe Behavior.
Comment utiliser ces Behavior?
Pour ajouter un comportement à un objet, il y a deux possibilités. Soit en JavaScript soit en XML-script. Personnellement j'ai un peu de mal avec le XML-script. Ca manque cruellement de lisibilité.
Bon imaginons que nous voulions ajouter le Popup behavior à une DIV
_popupBehavior = new Sys.Preview.UI.PopupBehavior($get(_panelID));
_popupBehavior.set_parentElement($get(_parentElementID));
_popupBehavior.initialize();
Un peu d'explication :
Première ligne : on crée une instance de la classe PopupBehavior en passant en paramètre l'élément que l'on veut voir apparaitre ou disparaitre.
Deuxième ligne : on utilise définit quelle sera l'élémént parent.
Troisième ligne : on initialise le comportement.
Ensuite il ne reste plus qu'à utiliser les fonctions de la classe :
- _popupBehavior.show() : permet de faire apparaitre l'objet
- _popupBehavior.hide() : permet de faire disparaitre l'objet
- _popupBehavior.set_x(int) / _popupBehavior.set_y(int) : permet de spécifier la position de l'objet par rapport à son élément parent
_popupBehavior.set_positioningMode(string) :
prend en paramètre :- Sys.Preview.UI.PositioningMode.BottomLeft
- Sys.Preview.UI.PositioningMode.BottomRight
- Sys.Preview.UI.PositioningMode.TopLeft
- Sys.Preview.UI.PositioningMode.TopRight
et permet de définir quelle sera l'origine des coordonnés.
Je détaillerai dans d'autres articles l'utilisations des autres behaviors et surtout comment en créer.