Ajax Asp.net/Atlas - Les behaviors

Octobre 30th, 2006

Qu'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.