..
Dans ASP.NET, un certain nombre de contrôles a la capacité de comprendre la forme et le contenu d'une collection et pour générer les balises appropriées pour représenter la même chose. Parmi eux nous pouvons citer, par exemple, ListBox et DropDownList.
Un des problèmes les plus communs dans le développement de toute application logicielle ou site web est de représenter les collections / ensembles d'éléments dans les interfaces utilisateur appropriées (UI, User Interface). Nous pensons que l'un des nombreux sites commerciaux sur le web. Lorsque vous accédez à l'un d'eux, si nous achetons quelque chose nous avons l'habitude de remplir une carte, dans laquelle les différentes données est généralement de leur nation. Ce champ est généralement représenté par un DropDownList, un menu déroulant qui vous permet de visualiser la liste et sélectionnez l'une des nations.
La question fondamentale est de savoir comment ce contrôle est peuplée? Contrôles comme celui-ci (mais aussi listbox par exemple) affichant la collection Items, à travers lequel vous pouvez ajouter des éléments à la liste. Il suffit d'utiliser la méthode de la Items.Add
PopolaDropDownList protected void (liste IList)
{
for (int i = 0; i <lista.Count; i + +)
{
this.MiaDropDownList.Items.Add (liste [i]);
}
}
Cependant, comme on peut comprendre l'ajout d'éléments à un contrôle manuel n'est pas une méthode recommandée dans certains contextes (considérer, par exemple, des ensembles d'éléments à afficher qui peuvent changer au fil du temps) et pour cette raison, ASP.NET inclut un certain nombre contrôle de liaison de données (date lié) capable de faire des collections d'objets et de générer automatiquement des balises pour l'affichage à notre place (les données soi-disant obligatoire).
Chacun de ces contrôles incluent des propriétés appropriées pour se connecter à une source de données (source de données). Pour la liaison de données simple en utilisant la propriété DataSource, qui vous pouvez vous connecter à n'importe quelle collection / collection qui implémente IEnumerable, ICollection ou IListSource. Après la propriété est évaluée que possible, vous pourriez invoquer la méthode DataBind de la page (ou contrôle) pour demander le contrôle d'itérer la collection est connecté.
Contrôles qui supportent cette fonctionnalité sont: ListControl, CheckBoxList, RadioButtonList, DropDownList, ListBox, treeview, menu, gridview, DataGrid, répéteur, FormView, DetailsView. De toute évidence, pour les fins de ce guide nous ne serons pas enquêter sur les caractéristiques de chacun d'eux et faire ce que je vous demande de consulter le communiqué officiel de Microsoft.
Voyons un exemple d'utilisation de certains de ces contrôles. Dans Visual Studio créer un nouveau site et y ajouter une voiture de classe possède deux propriétés qui marque et le modèle, comme vous pouvez le deviner, servira comme une collection de marques et de modèles de voitures.

Voici sa mise en œuvre
public class Voiture
{
Marque public string {get; jeu;}
Modèle public string {get; jeu;}
Car publique (chaîne strMarca,
strModello chaîne)
{
this.Marca = strMarca;
this.Modello = strModello;
}
public static Liste <Auto> CreaListaAuto ()
{
Liste = new List <Auto> <Auto> somptueux ();
Car faire revenir;
sauter de voiture = new ("Lance", "Delta");
lAuto.Add (sauter);
sauter de voiture = new ("Fiat", "Point");
lAuto.Add (sauter);
sauter de voiture = new ("Audi", "A4");
lAuto.Add (sauter);
sauter de voiture = new ("Mercedes", "SLK");
lAuto.Add (sauter);
sauter de voiture = new ("Ferrari", "F399");
lAuto.Add (sauter);
sauter de voiture = new ("Ford", "Kuga");
lAuto.Add (sauter);
retour copieux;
}
}
Ajouter un nouveau formulaire Web appelé Default.aspx dans notre projet et l'insérer dans quatre des contrôles que nous avons vu auparavant, et qui est une zone de liste, un DropDownList, un RadioButtonList et CheckBoxList

Nous avons mis la propriété AutoPostBack vrai pour tous les contrôles afin que la sélection d'un élément à générer un événement de publication au cours de laquelle l'élément peut être remis en question. Il insère également dans n'importe quelle position sur la page avec une étiquette qui leur seront utiles plus tard. Maintenant, nous devons changer le lien vers la classe de page qui renvoie la collection de voitures à divers contrôles. Pour chaque contrôle en définissant la propriété DataTextField dans le domaine du modèle, de sorte que les modèles de voitures apparaissent dans les différents contrôles. Et définir la propriété DataValueField sur la zone de marque. Enfin dans l'événement Load de la page insérez le code suivant pour créer la collection de voitures et pour son association avec les différents contrôles
protected void Page_Load (object sender, EventArgs e)
{
if (! this.IsPostBack)
{
Liste <Auto> autolist Auto.CreaListaAuto = ();
this.ListBox1.DataSource autolist =;
this.DropDownList1.DataSource autolist =;
this.RadioButtonList1.DataSource autolist =;
this.CheckBoxList1.DataSource autolist =;
this.DataBind ();
}
}
Lancement de l'application tel qu'il apparaîtra ici chaque contrôle




A ce point on peut se connecter à l'événement SelectedIndexChanged de divers contrôles de mettre en évidence comment accéder aux informations sur la marque de la voiture. Comme la procédure est similaire que pour faire un exemple de la listbox. Nous générons ainsi son événement SelectedIndexChanged et insérez le code suivant à l'intérieur
ListBox1_SelectedIndexChanged protected void (object sender, EventArgs e)
{
this.Label1.Text = this.ListBox1.SelectedValue;
}
De cette façon, nous verrons que en démarrant l'application en sélectionnant les modèles de voitures différents l'étiquette sera renforcée avec la marque correspondante


| |
ASP (Advanced)
Cours complet pour la création de sites Web dynamiques. A partir de 39 €. |
| |
ASP.NET (Cours)
Cours complet pour construire des applications Web à partir de 49 €. |
| |
SQL et bases de données (cours)
Créer et gérer des bases de données relationnelles. A partir de 39 €. |