La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

ASP.NET 2.0 : Création de contrôles serveurs Présenté par Pierre Lagarde Relation Développeurs Microsoft France Level 300.

Présentations similaires


Présentation au sujet: "ASP.NET 2.0 : Création de contrôles serveurs Présenté par Pierre Lagarde Relation Développeurs Microsoft France Level 300."— Transcription de la présentation:

1 ASP.NET 2.0 : Création de contrôles serveurs Présenté par Pierre Lagarde Relation Développeurs Microsoft France Level 300

2 Deux visions de lapproche composant Lapproche Contrôle Utilisateur (UserControl) Créer une pagelet réutilisable (*.ascx) dans le designer graphique Facile à développer Facile à développer Pas multi-projet Pas multi-projet Lapproche Contrôle Server (CustomControl) Créer un composant.NET Web réutilisable depuis la toolbox Modèle compilé dans une dll Multi-projet Multi-projet Pas facile à développer Pas facile à développer

3 Identifié par un tag dans le flux aspx Les contrôles serveurs peuvent : Générer un flux HTML vers le client dans la méthode Render writer.RenderBeginTag(HtmlTextWriterTag.Span); Générer du script client (cas des contrôles Validators) RegisterClientScriptBlock Adapter leur rendu aux différents clients Mobile / IE / Firefox Lapproche Contrôle Server

4 La nouvelle Architecture des Contrôles BaseDataBoundControl DataBoundControlHierarchicalDataBoundControl TreeView Menu ListControlCompositeDataBoundControl BulletedList CheckBoxList DropDownList ListBox RadioButtonList DetailsView FormView GridView WebControl (1.x) BaseDataList (1.x) Control (1.x)

5 2 : Mon premier contrôle serveur demo demo Test Phrase

6 Sauvegarde des propriétés Le contrôle serveur est créé à chaque génération de page il faut donc implémenter un mécanisme de sauvegarde des données Utilisation du ViewState public bool LargeText { get { object o = ViewState["LargeText"]; if (o == null) return _largeText; else return (bool)o; } set { _largeText = value; ViewState["LargeText"] = _largeText; }

7 Visibilité des propriétés dans linspecteur dobjet Utilisation des attributs sur les propriétés [Bindable(true), Category("Appearance"), DefaultValue("true")] public bool LargeText { … } [EditorBrowsable(EditorBrowsableState.Never), DefaultValue(false)] public override bool Visible { … }

8 3 : Modifier mon premier contrôle demo demo

9 Contrôle invisible Réaliser un contrôle visible par Visual Studio mais invisible dans la page HTML Utilisation des « ControlDesigner » [DesignerAttribute(typeof(InvisibleControlControlDesigner))] public class InvisibleControl : Control { … } public class InvisibleControlControlDesigner : ControlDesigner { public override string GetDesignTimeHtml(){ return base.CreatePlaceHolderDesignTimeHtml();} }

10 4 : Contrôle Invisible demo demo

11 Ajout de fonctionnalités à un contrôle existant Créer un DropDownList multicolore One Two Three

12 Hériter du DropDownList Ajout de propriétés Réécrire le RenderContents

13 Customiser le SmartTag pour la nouvelle DropDownList Créer un nouveau ControlDesign public override DesignerActionListCollection ActionLists { //Return DesignerActionListCollection() }

14 5 : MyDropDownList MyDropDownListControlDesign demo demo

15


Télécharger ppt "ASP.NET 2.0 : Création de contrôles serveurs Présenté par Pierre Lagarde Relation Développeurs Microsoft France Level 300."

Présentations similaires


Annonces Google