Maison >développement back-end >Tutoriel C#.Net >Explication détaillée de la liaison de données « ASP.NET » – DataList

Explication détaillée de la liaison de données « ASP.NET » – DataList

黄舟
黄舟original
2017-03-08 13:10:541957parcourir

Le contrôle DataList est un contrôle en .NET. Le contrôle DataList présente les données sous forme de tableau (modifiable dans le générateur de propriétés) , avec ce contrôle vous pouvez utiliser différentes mises en page pour afficher les enregistrements de données (à l'aide de modèles Modifier ) , par exemple, pour organiser les enregistrements de données en colonnes ou en lignes. Tu peux Le contrôle DataList est configuré pour permettre aux utilisateurs de modifier ou de supprimer des enregistrements dans la table (à l'aide du modèle EditItemTemplate et du modèle SelectedItemTemplate) . Le contrôle DataList n'utilise pas les fonctionnalités de modification de données du contrôle de source de données ; vous devez fournir ce code vous-même.

1. Comparaison de DataList et Repeater

1. DataList a deux modèles de plus que Repeater : SelectedItemTemplate et EditItemTemplate , prend en charge les fonctions de sélection et d'édition.

2. DataList propose une édition visuelle de modèles et d'attributs, tandis que le contrôle Repeater ne spécifie pas de mise en page intégrée. Par rapport à DataList, l'édition des données est plus gênante.

3. Le contenu de DataList présente les données sous forme de tableaux. Cela rend la disposition des données plus belle et Repeater lui-même doit ajouter des tableaux.

4. DataList place explicitement les éléments dans le tableau HTML, mais pas Repeater.

2. Modèles dans DataList

1. ItemTemplate, AlternationgItemTemplate, SeparatorTemplate, HeaderTemplate, FooterTemplate, SelectedItemTemplate, EditItemTem plate.

3. Événements

1. Événement bouillonnant

Le framework ".NET" contient trois contrôles standards qui prennent en charge le bouillonnement d'événements : les contrôles Repeater, DataList et DataGrid. Ces contrôles vous permettent de capturer des événements à partir de leurs contrôles enfants. Lorsqu'un contrôle enfant génère un événement, l'événement « bulle » vers le contrôle conteneur contenant le contrôle enfant, et le contrôle conteneur peut exécuter un sous-programme pour gérer l'événement.

Le contrôle DataList prend en charge le bouillonnement d'événements, qui peut capturer les événements générés par les contrôles contenus dans la DataList et gérer ces événements via des sous-programmes ordinaires. À ce stade, certaines personnes ne comprennent peut-être pas vraiment les avantages du bouillonnement d'événements. De cette façon, nous réfléchissons à l'inverse : s'il n'y a pas de bouillonnement d'événements, alors une fonction de traitement correspondante doit être définie pour chaque événement généré par chaque contrôle. contenu dans la DataList. Que se passe-t-il si la DataList contient 10 000 contrôles ? Ou plus ? Alors, combien de gestionnaires d’événements devons-nous écrire. Ainsi, avec le bouillonnement d’événements, quel que soit le nombre de contrôles contenus dans la DataList, nous n’avons besoin que d’un seul gestionnaire. Ma compréhension est d'encapsuler le programme puis de résoudre le problème via le mécanisme d'héritage.

2. Événements pris en charge par DataList :

EditCommand : généré par un contrôle enfant avec CommandName="edit".

CancelCommand : généré par un contrôle enfant avec CommandName="cancel".
UpdateCommand : généré par un contrôle enfant avec CommandName="update".
DeleteCommand : généré par un contrôle enfant avec CommandName="delete".
ItemCommand : événement par défaut de DataList.


3. Processus de déclenchement d'événements : Avec ces cinq événements, lorsque je clique sur le contrôle DataList Lorsqu'un certain bouton est enfoncé, quel événement doit être déclenché ? Quand se déclenchent-ils ?

Il existe trois contrôles avec des propriétés CommandName dans "ASP Point NET", à savoir Button, LinkButton et ImageButton. Leurs propriétés CommandName peuvent être définies pour représenter le type d'heure généré dans le contrôle conteneur. Par exemple, si vous définissez la propriété CommandName d'un LinkButton dans la DataList sur "update", alors lorsque ce bouton est cliqué, l'événement UpdateCommand de la DataList sera déclenché. Nous pouvons écrire le code de traitement approprié dans le gestionnaire d'événements correspondant.

Remarque : L'événement ItemCommand est l'événement par défaut généré par le contrôle DataList après tout bouton avec le CommandName de supprimer/annuler/mettre à jour/modifier dans la DataList. contrôle est cliqué, l'événement ItemCommand est déclenché en premier, puis l'événement correspondant.

4. Modifiez les données dans DataList.

1. Editer en sélectionnant la clé primaire d'un élément dans la DataList, à l'aide de la DataList La collection DataKeys dans le contrôle.

Lors de la sélection d'un élément dans la DataList, vous devez généralement obtenir la valeur de la clé primaire associée à cet élément. Vous pouvez utiliser la collection DataKeys pour obtenir la valeur de la clé primaire associée à un élément. Après avoir créé la collection DataKeys, vous pouvez obtenir la valeur de clé primaire associée à l'élément concerné dans la DataList en transmettant la valeur d'index de l'élément à la collection DataKeys. Par exemple, pour obtenir la valeur de clé primaire du troisième élément affiché par DataList, vous pouvez utiliser : DataList1.DataKeys[2]. Si vous souhaitez obtenir la valeur de clé primaire de l'élément où un événement se produit dans le gestionnaire d'événements du Contrôle DataList, utilisez : DataList1.DataKeys[e.Item.ItemIndex].

2. Modifiez les éléments dans la DataList

Vous pouvez utiliser le contrôle DataList Pour modifier un enregistrement dans la table de données, en fait, il est très pratique d'effectuer une telle opération dans DataList, contrairement à asp où vous devez basculer entre plusieurs pages. Le contrôle DataList possède un modèle nommé EditItemTemplate, dans lequel les contrôles de formulaire sont placés afin que des éléments spécifiques puissent être modifiés dans la DataList. Lorsque la valeur de la propriété EditItemIndex de la DataList est l'index d'un élément de la DataList, l'élément correspondant sera affiché dans le modèle EditItemTemplate Lorsque la valeur de la propriété est -1, cela signifie que le modèle EditItemTemplate ne le sera pas ; être affiché.

3. Sélectionnez l'élément dans DataList

Une fois les données liées à la DataList, chaque élément de la DataList a un numéro d'index. L'index du premier élément est 0 et les nombres sont numérotés vers le bas. Nous pouvons utiliser des index pour déterminer des éléments spécifiques dans la DataList.
DataList affiche les éléments de données dans le modèle ItemTemplate ou ItemTemplate AlternatingItemTemplate par défaut. Lorsque la valeur de la propriété SelectedIndex de DataList est l'index d'un élément dans DataList, l'élément correspondant sera affiché dans le modèle SelectedItemTemplate. Lorsque la valeur de cet attribut est -1, cela signifie que le modèle SelectedItemTemplate n'est pas affiché.

4. Résumé

Cela dit, ce ne sont que des paroles sans pratique. ce n'est que lorsque vous l'utilisez vous-même que vous pourrez comprendre en profondeur ses fonctions. Le prochain blog sera un chapitre pratique sur DataList, alors restez à l'écoute ! ! !

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn