ASP 'NET 2'0 : Cration de contrles serveurs - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

ASP 'NET 2'0 : Cration de contrles serveurs

Description:

Deux visions de l'approche composant. L'approche Contr le Utilisateur (UserControl) Cr er ... (CustomControl) Cr er un composant .NET Web r utilisable depuis ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 16
Provided by: jcc1
Category:

less

Transcript and Presenter's Notes

Title: ASP 'NET 2'0 : Cration de contrles serveurs


1
ASP .NET 2.0 Création de contrôles serveurs
Présenté par Pierre Lagarde pierlag_at_microsoft.com
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
  • ? 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
  • ? Pas facile à développer

3
Lapproche Contrôle Server
  • Identifié par un tag dans le flux aspx
  • ltaspbutton gt
  • 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

4
La nouvelle Architecture des Contrôles
Control (1.x)
WebControl (1.x)
BaseDataList (1.x)
BaseDataBoundControl
DataBoundControl
HierarchicalDataBoundControl
TreeView
ListControl
CompositeDataBoundControl
BulletedList
DetailsView
Menu
CheckBoxList
FormView
DropDownList
GridView
ListBox
RadioButtonList
5
2 Mon premier contrôle serveur
demo
ltspan style"font-sizeXX-Large / Small"gt Test
Phrase lt/spangt
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
9
Contrôle invisible
  • Réaliser un contrôle visible par Visual Studio
    mais invisible dans la page HTML
  • Utilisation des  ControlDesigner 

DesignerAttribute(typeof(InvisibleControlControlD
esigner)) public class InvisibleControl
Control public class InvisibleControlContro
lDesigner ControlDesigner public override
string GetDesignTimeHtml() return
base.CreatePlaceHolderDesignTimeHtml()
10
4 Contrôle Invisible
demo
11
Ajout de fonctionnalités à un contrôle existant
  • Créer un DropDownList multicolore

lthtmlgt ltbodygt ltselectgt ltoption
style"colorredfont-weight700font-familycouri
er new"gtOnelt/optiongt ltoptiongtTwolt/optiongt
ltoptiongtThreelt/optiongt lt/selectgt
lt/bodygt lt/htmlgt
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 DesignerActionListCollecti
on()
14
5 MyDropDownList MyDropDownListControlDesign
demo
15
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com