Accueil     Commander     Clients     Téléchargements     Contacts     I-mode        Offre spéciale
   Hébergement ASP-PHP
      Pack PRO I
      Pack PRO II
      Pack PRO III
   Hébergement .NET
      Pack .NET I
      Pack .NET II
      Pack .NET III
   Revendeurs
      SEMI-DEDIE I
      SEMI-DEDIE II
      SERVEURS DEDIES
   Services
      NOM DE DOMAINE
      HTTPS & SSL
      E-COMMERCE
      SQL SERVEUR
      WEBMAIL
      REFERENCEMENT
   Les + Prosygma
      NOS TARIFS
      LE RESEAU
      ASSISTANCE
   Outils
      WHOIS
      FAQ
      Aide IIS
      Ressource KIT FP
      Composants ASP
     PARTENAIRES
     
     
     

Solutions hébergement
Support Dot NET.
  
  Source : Les laboratoires Microsoft

 

Contrôles serveur de liaison de données


Vue d'ensemble et syntaxe de la liaison de données

ASP.NET présente une nouvelle syntaxe de liaison de données déclarative. Cette syntaxe extrêmement souple permet au développeur d'effectuer une liaison non seulement à des sources de données, mais aussi à des propriétés simples, des collections, des expressions et même des résultats retournés par des appels de méthodes. Le tableau suivant donne quelques exemples de la nouvelle syntaxe.

Propriété simple Customer: <%# custID %>
Collection Orders: <asp:ListBox
id="List1" datasource=
'<%# myArray %
>' runat="server">
Expression Contact: <%#
( customer.First Name
+ " " + customer.LastName ) %>
Résultat de méthodes Outstanding
Balance: <%#
GetBalance(custID) %>

Même si cette méthode ressemble au raccourci ASP de Response.Write (<%= %>), son comportement est relativement différent. Alors que la syntaxe de raccourci Response.Write de ASP était évaluée pendant le traitement de la page, la syntaxe de liaison de données ASP.NET est évaluée uniquement lors de l'appel de la méthode DataBind.

DataBind est une méthode du Page et de tous les contrôles serveur. Si vous appelez DataBind sur un contrôle parent, elle se répercute en cascade sur tous les enfants du contrôle. Par exemple, DataList1.DataBind() appelle la méthode DataBind sur tous les contrôles des modèles DataList. L'appel de DataBind sur Page (Page.DataBind() ou simplement DataBind()) entraîne l'évaluation de toutes les expressions de liaison de données de la page. DataBind est fréquemment appelé à partir de l'événement Page_Load, comme le montre l'exemple suivant.


Protected Sub Page_Load(Src As Object,
E As EventArgs) DataBind() End Sub
C# VB JScript  

Vous pouvez utiliser une expression de liaison quasiment n'importe où dans la section déclarative d'une page .aspx, aussi longtemps qu'elle correspond au type de données attendu au moment de l'exécution. Les exemples de propriété simple, d'expression et de méthode ci-dessus affichent du texte à l'intention des utilisateurs une fois l'évaluation terminée. Dans ces situations, l'expression de liaison de données doit correspondre à une valeur de type String. Dans l'exemple de collection, l'expression de liaison de données a une valeur de type valide pour la propriété DataSource de ListBox. Il se peut que vous ayez à forcer le type de valeur de votre expression de liaison à produire le résultat souhaité. Par exemple, si count est un entier :

Number of Records: <%# count.ToString() %>


Liaison à des propriétés simples

La syntaxe de liaison de données ASP.NET prend en charge la liaison à des variables publiques, à des propriétés de Page et à des propriétés d'autres contrôles de la page.

L'exemple suivant illustre la liaison à une variable publique et à une propriété simple de la page. Remarquez que ces valeurs sont initialisées avant que DataBind() soit appelé.

 
VB DataBind1.aspx

L'exemple suivant illustre la liaison à une propriété d'un autre contrôle.

 
VB DataBind2.aspx



Liaison à des collections et à des listes

Les contrôles serveur List, tels que DataGrid, ListBox et HTMLSelect, utilisent une collection comme source de données. Les exemples suivants illustrent la liaison à des types de collection habituels du Common Language Runtime. Ces contrôles ne peuvent être liés qu'à des collections prenant en charge l'interface IEnumerable, ICollection ou IListSource. La plupart du temps, la liaison est effectuée à ArrayList, Hashtable, DataView et DataReader.

L'exemple suivant illustre la liaison à un ArrayList.

 
VB DataBind3.aspx

L'exemple suivant illustre la liaison à un DataView. Remarquez que la classe DataView est définie dans l'espace de noms System.Data.

 
VB DataBind4.aspx

L'exemple suivant illustre la liaison à un Hashtable.

 
VB DataBind5.aspx



Liaison d'expressions ou de méthodes

Il arrive souvent que vous souhaitiez manipuler les données avant de les lier à votre page ou à un contrôle. L'exemple suivant illustre la liaison d'une expression et la valeur de retour par une méthode.

 
VB DataBind6.aspx



DataBinder.Eval

L'infrastructure ASP.NET fournit une méthode static qui évalue les expressions de liaison de données à liaison tardive et met éventuellement en forme le résultat sous la forme d'une chaîne. DataBinder.Eval est pratique en ce sens qu'il élimine une grande partie du casting explicite que le développeur doit effectuer pour forcer des valeurs à adopter le type de données souhaité. Il est particulièrement utile pour les contrôles de liaison de données au sein d'une liste basée sur un modèle, car il est souvent nécessaire d'effectuer un cast de la ligne de données et du champ de données.

Prenons l'exemple suivant, où un entier s'affiche sous la forme d'une chaîne de devise. Avec la syntaxe de liaison de données ASP.NET standard, vous devez d'abord effectuer un cast du type de la ligne de données afin d'extraire le champ de données, IntegerValue. Ensuite, il est passé en tant qu'argument à la méthode String.Format.


<%# String.Format("{0:c}", 
(CType(Container.DataItem,
DataRowView)("IntegerValue"))) %>
C# VB JScript  

Cette syntaxe peut être complexe et difficile à mémoriser. Par contre, DataBinder.Eval est une méthode possédant seulement trois arguments : le conteneur de dénomination de l'élément de données, le nom du champ de données et la chaîne de format. Dans une liste basée sur un modèle, telle que DataList, DataGrid ou Repeater, le conteneur de dénomination est toujours Container.DataItem. Page est un autre conteneur de dénomination qui peut être utilisé avec DataBinder.Eval.


<%# DataBinder.Eval(Container.DataItem,
"IntegerValue", "{0:c}") %>
C# VB JScript  

L'argument de chaîne de format est facultatif. S'il est omis, DataBinder.Eval retourne une valeur de type Object, comme le montre l'exemple suivant.


<%# CType(DataBinder.Eval(Container.
DataItem, "BoolValue"), Boolean) %>
C# VB JScript  

Il est important de remarquer que DataBinder.Eval peut entraîner une altération considérable des performances par rapport à la syntaxe de liaison de données standard, car il emploie une réflexion à liaison tardive. Utilisez DataBinder.Eval judicieusement, en particulier si la mise en forme de la chaîne n'est pas obligatoire.

 
VB DataBind7.aspx

Résumé de la section

  1. La syntaxe de liaison de données déclarative ASP.NET utilise la notation <%# %>.
  2. Vous pouvez effectuer une liaison à des sources de données, à des propriétés de la page ou à un autre contrôle, à des collections, à des expressions et aux résultats retournés par des appels de méthodes.
  3. Les contrôles List peuvent se lier à des collections prenant en charge l'interface ICollection, IEnumerable ou IListSource, telles que ArrayList, Hashtable, DataView et DataReader.
  4. DataBinder.Eval est une méthode static pour la liaison tardive. Sa syntaxe peut être plus simple que la syntaxe de liaison de données standard, mais les performances sont réduites.



Nos serveurs sont désormais des serveurs
Pentium 3 Ghz, 1 Go Ram

 La formule de base est à 10 Euros TTC / mois
Si vous avez des besoins plus spécifiques (composants, espace disque...), nous sommes la pour répondre à vos questions.
Rappel : les frais d'installation sont gratuits


Prosygma élu meilleur site.
 
Trois nouveaux composants ASP sont désormais en place sur toutes nos formules.Il s'agit de ASPIMAGE, ASPPOP3 et ASPMAIL.


La dernière version de Microsoft® .NET Framework contient tout ce qu'il vous faut pour faire fonctionner des applications .NET Framework est disponible sur nos serveurs

Cliquez içi pour commander votre hébergement .Net

Votre nom de domaine en .com, .net ou .org au prix unique : 20 Euros

  Vérifiez la disponibilité d'un nom de domaine