..
În ASP.NET, o serie de controale are capacitatea de a înţelege forma şi conţinutul de o colecţie şi pentru a genera tag-urile corespunzătoare pentru a reprezenta aceleaşi. Printre acestea putem cita, de exemplu, listbox and DropDownList.
Una dintre cele mai comune probleme în dezvoltarea oricărei aplicaţii software sau site-ul web este de a reprezenta colectii / seturi de articole în ghidul de interfeţele corespunzătoare (UI, User Interface). Credem că unul dintre multe site-uri comerciale pe web. Când accesaţi unul dintre ei dacă vom cumpăra ceva ne umplem de obicei, un card, în care diferitele date este de obicei naţiunea lor. Acest câmp este reprezentat de obicei printr-un DropDownList, un drop jos meniu care vă permite să vizualizaţi lista şi selectaţi una a naţiunilor.
Întrebarea fundamentală este modul în care acest control este populat? Controale ca aceasta (dar, de asemenea, listbox, de exemplu) afişarea de colectare Elemente, prin care aveţi posibilitatea să adăugaţi elemente la lista. Trebuie doar sa folosesti metoda Items.Add
PopolaDropDownList nule protejate (lista IList)
{
pentru (int i = 0; i <lista.Count; i + +)
{
this.MiaDropDownList.Items.Add (lista [i]);
}
}
Cu toate acestea, după cum se poate înţelege adaosul de elemente la un control manual, nu este o modalitate recomandată în anumite contexte (ia în considerare, de exemplu, seturi de produs pentru afişare care ar putea schimba in timp), şi pentru acest motiv, ASP.NET include un număr datele de control legătură într-(data legat) capabil de a face colecţii de obiecte şi de a genera automat tag-uri pentru afişare în locul nostru (datele aşa-numitele obligatoriu).
Fiecare dintre aceste controale includ proprietăţi adecvate pentru conectarea la o sursă de date (sursă de date). Pentru legarea de date simple utilizând proprietatea DataSource, care se poate conecta la orice de colectare / colectare care implementează ICollection IEnumerable, sau IListSource. După ce proprietatea este evaluată în care este posibil, ai putea invoca metoda DataBind de pe pagina (sau de control) pentru a instrui de control pentru a itera de colectare este conectat.
Controale care acceptă această caracteristică sunt: ListControl, CheckBoxList, RadioButtonList, DropDownList, listbox, TreeView, meniu, gridview, datagrid, repeater, FormView, DetailsView. În mod clar, în sensul prezentului ghid, nu vom investiga caracteristicile de fiecare dintre ele şi să facă ceea ce vă rog să consulte oficial Microsoft.
Să vedem un exemplu de utilizare a unora dintre aceste controale. În Visual Studio a crea un site nou şi adăugaţi-i o masina de clasa are două proprietăţi care face şi model, cum s-ar putea ghici, va servi ca o colecţie de marci si modele de autovehicule.

Aici este punerea sa în aplicare
publice clasa auto
{
Brand public String {obţine; stabilite;}
Modelul public String {obţine; stabilite;}
Car publice (string strMarca,
strModello string)
{
this.Marca = strMarca;
this.Modello = strModello;
}
public static Lista <Auto> CreaListaAuto ()
{
Lista = new List <Auto> <Auto> generos ();
Maşină gatiti;
sote = new Car ("Lance", "Delta");
lAuto.Add (gatiti);
sote = masina noua ("Fiat", "Obiective");
lAuto.Add (gatiti);
sote = new Car ("Audi", "A4");
lAuto.Add (gatiti);
sote = new Car ("Mercedes", "SLK");
lAuto.Add (gatiti);
sote = new Car ("Ferrari", "F399");
lAuto.Add (gatiti);
sote = new Car ("Ford", "Kuga");
lAuto.Add (gatiti);
întoarcere consistent;
}
}
Adaugă un formular web nou, denumit default.aspx în proiectul nostru şi introduceţi-l în patru a controalelor care le-am văzut înainte, şi că este un listbox, o DropDownList, un RadioButtonList şi CheckBoxList

Am stabilit proprietatea de a AutoPostBack valabil pentru toate controalele, astfel încât selectarea unui element pentru a genera un eveniment postback în care elementul poate fi pusă la îndoială. De asemenea, introduce în orice poziţie pe pagina cu o etichetă care va fi de folos mai târziu. Acum avem de a schimba link-ul de la clasa de pagina care returnează o colecţie de maşini de diferite controale. Pentru fiecare control prin setarea proprietăţii DataTextField la câmpul modelului, astfel încât modelele de masini apar în diferite controale. Şi setaţi proprietatea DataValueField pe zona de brand. În cele din urmă în caz de încărcare a paginii inseraţi codul de mai jos pentru a crea o colecţie de maşini şi pentru asocierea sa cu diverse controale
protejate nule Page_Load (obiect expeditor, EventArgs e)
{
if (! this.IsPostBack)
{
Lista <Auto> autoList Auto.CreaListaAuto = ();
this.ListBox1.DataSource = autoList;
this.DropDownList1.DataSource = autoList;
this.RadioButtonList1.DataSource = autoList;
this.CheckBoxList1.DataSource = autoList;
this.DataBind ();
}
}
Lansarea cererii aşa cum va apărea aici fiecare control




În acest moment putem să ne conectăm la evenimentul SelectedIndexChanged de diferite controale de a evidenţia modul de a accesa informaţii despre marca specifică a masinii. Având în vedere că procedura este similară doar pentru a face un exemplu de listbox. Noi genera astfel de eveniment SelectedIndexChanged şi introduceţi codul de mai jos în interiorul
Nule ListBox1_SelectedIndexChanged protejate (expeditor obiect, EventArgs e)
{
this.Label1.Text = this.ListBox1.SelectedValue;
}
În acest fel, vom vedea că prin demararea cererea prin selectarea diferitelor modele masina eticheta va fi îmbunătăţită cu brand-ul corespunzător


| |
ASP (avansat)
Ciclu complet pentru crearea de site-uri Web dinamice. De la 39 €. |
| |
ASP.NET (Curs)
Ciclu complet pentru construirea de aplicatii Web de la 49 €. |
| |
SQL si baze de date (Curs)
Crearea şi gestionarea bazelor de date relaţionale. De la 39 €. |