Seminarski Rad
-
Upload
vedran-dzabic -
Category
Documents
-
view
182 -
download
4
Transcript of Seminarski Rad
FAKULTET ZA INFORMACIONE TEHNOLOGIJE
SEMINARSKI RAD
Internet programiranje u .NET tehnologiji
TEMA
Pregled serverskih kontrola
Calendar, FileUpload, Panel, MultiView, Wizard i XML
Mentor: Student:
Broj indeksa:
Januar,godine
Internet programiranje u .NET tehnologiji
2
Sadržaj
1. Kontrola Calendar ................................................................................................................... 2
2. Kontrola File Upload ................................................................................................................ 9
3. Kontrola Panel ...................................................................................................................... 11
4. MultiView i View kontrola ....................................................................................................... 14
5. Wizard kontrola .................................................................................................................... 18
6. XML kontrola ....................................................................................................................... 22
7. Zaključak .............................................................................................................................. 26
8. Literatura ............................................................................................................................. 27
Internet programiranje u .NET tehnologiji
3
1. Kontrola Calendar
Kontrola Calendar omogućava vam da prikažete kalendar na web stranici. Calendar se može koristiti kada tražite od korisnika da izabere određeni datum ili vremenski period. Korisnici mogu tako da se lako kreću
između godina, mjeseci i dana. Kontrola Calendar je složena i moćna serverska kontrola koju možete koristiti da dodate pravi kalendar na svoju stranicu. Kontrola Calendar je izvedena direktno iz klase
WebControl kao što je prikazano na slici 1.
Slika 1: Osobine kontrole Calendar
Kontrola Calendar je prikazana kao <asp:Calendar> element u Source prozoru. Ona može da sadrži
sopstveni stil radi promijene izgleda kontrole. Kada se izrenderuje na korisnikovom Web pregledniku, kontrola generira HTML <table> element i niz povezanih JavaScript elemenata.
Kontrola Calendar se može koristiti da se izabere jedan datum ili više datuma. To kontroliše svojstvo SelectionMode. Ono se može podesiti na jedno od slijedećih vrijednosti:
Internet programiranje u .NET tehnologiji
4
-Day Omogućava izbor jednog datuma.
-DayWeek Omogućava izbor ili jednog datuma ili cijele sedmice. -DayWeekMonth Omogućava izbor jednog datuma, cijele sedmice ili cijelog mjeseca.
-None Ne dozvoljava da izaberete ni jedan datum.
Kontrola Calendar sadrži mnoga dodatna svojstva koje se mogu koristiti da se podesi format i ponašanje
ove kontrole. Tabela 1 sadrži spisak svojstva kontrole Calendar i njihove opise.
Svojstvo: Opis:
Caption Naslov u kalendaru.
CaptionAlign Poravnanje naslova:Gore (Top), Dolje (Bottom), Lijevo (Left), Desno (Right) ili Nije podešeno (NotSet).
CellPadding Razmak između svake ćelije i njene ivice.
CellSpacing Razmak između ćelija.
DayHeaderStyle Stil koji će se primijeniti na radne dane.
DayNameFormat Format za imena radnih dana:Prvo slovo (FirstLetter), Prva dva slova (FirstTwoLetters), Cijeli naziv (Full), Kratki naziv
(Short), Najkraći naziv (Shortest).
DayStyle Podrazumjevani stil za dan u kalendaru.
FirstDayOfWeek Dan u sedmici koji će biti prikazan u prvoj koloni kontrole Calendar.
NextMonthText Tekst koji se prikazuje za prelazak u naredni mjesec; „>“je podrazumjevana vrijednost.
Ovo funkcioniše samo ako je ShowNextPrevMonth svojstvo istinito.
NextPrevFormat Svojstvo koje postavlja format za prelazak na slijedeći i prethodni
mjesec.Može se podesiti na CustomText
(podrazumjevano),FullMonth (na primjer Januar) ili
ShortMonth(na primjer Jan).
NextPrevStyle Stil koji se primjenjuje na tekst za prelazak na slijedeću i predhodni mjesec.
OtherMonthDayStyle Svojstvo koji određuje stil za dane na kalendaru koji su prikazani ali nisu u tekućem mjesecu.
PrevMonthText Tekst koji se prikazuje za prelazak na prethodni mjesec ; koji je
podrazumjevano “<“.Ovo je moguće samo ako je ShowNextPrevMonth svojstvo istinito.
SelectedDate Datum koji je odabran od strane korisnika
SelectedDates Kolekcija vrijednosti DateTime predstavlja sve datume koji su
izabrani od strane korisnika.Ovo svojstvo sadrži samo jedan datum kada
SelectionMode svojstvo postavljeno na
Internet programiranje u .NET tehnologiji
5
Tabela 1: Spisak svojstava kalendara i njihovi opisi.
CalendarSelectionMode.Day što dozvoljava izbor samo jednog dana.
SelectedDayStyle Stil izabranog dana.
SelectionMode Vrijednost koja pokazuje koliko dana može biti izabrano.Vrijednost
može biti Day, DayWeek, DayWeekMonth ili None.
SelectMonthText Tekst prikazan u koloni za mjesec .Podrazumjevana vrijednost je „>>“.
SelectorStyle Stil za selektore sedmice i mjeseca.
SelectWeekText Tekst selektora sedmice.
ShowDayHeader Indikator koji određuje da li treba da bude neki dan prikazan.
ShowGridLines Indikator koji određuje da li treba mrežna linija biti prikazana.
ShowTitle Indikator koji određuje da li treba naslov biti prikazan.
TitleFormat Svojstvo koje postavlja format za prikazivanje mjeseca (Month) ili
mjeseca i godine (MonthYear).
TitleStyle Stil za naslov.
TodayDayStyle Stil današnjeg dana.
TodaysDate Današnji datum.
UseAccessibleHeader Kontrola, kada je ovo svojstvo istinito,generiše <th> zaglavlje dana(podrazumjevana vrijednost) ili kada je
podešeno na neistinto generiše <td> za zaglavlja
dana da budu kompatibilna sa verzijom 1.0 .NET okruženja.
VisibleDate Svojstvo koje određuje koji mjesec prikazati u kalendaru.
WeekendDayStyle Stil dana vikenda.
Internet programiranje u .NET tehnologiji
6
Kontrola Calendar takođe objavljuje nekoliko događaja sa kojima se može raditi. Primarni događaj, SelectionChanged, se dešava nakon što korisnik izabere datum na kontroli. Događaj SelectionChanged izaziva PostBack kada korisnik izabere novi datum. Unutar obrađivača događaja pristupate izabranim datumima preko svojstva SelectedDates. Svojstvo SelectedDate jednostavno pokazuje na jedan izabrani
datum SelectedDates kolekcije.
Događaj VisibleMonthChanged takođe izaziva PostBack kada korisnik izabere da se vidi neki drugi
mjesec. Ovaj događaj možete obraditi ako morate da odgovorite na korisnikovo prebacivanje između mjeseci u kontroli.
Kontrola Calendar se obično koristi kao kontrola za biranje datuma. Međutim, ona se takođe može
koristiti da prikaže planirani raspored. Tehnika da bi se koristila kontrola Calendar da prikaže planirani
raspored i željene dane kao što su praznici je da se kontrola napravi dovoljno široko da prikaže tekst za svaki dan. Onda možete da dodate kontrolu Label (ili druge kontrole) u Controls kolekciju Cell objekata u
DayRender obrađivaču događaja.Događaj DayRender u kontroli Calendar pokreće se kada neki dan se priprema za slanje na izlaz. To nije PostBack nego događaj koji se okida na serveru kada se kontrola
renderuje u svoj HTML. To vam omogućava da dodate tekst ili kontrole u dan koji se renderuje.
Slijedeći primjer pokazuje kako se kontrola Calendar može koristiti da prikaže planirani raspored. U ovom
primjeru, kreirana je Web stranica i na stranicu je dodana kontrola Calendar. Slijedeći kôd je dodat u
priključenu stranicu da pokaže kako se svojstva kontrole Calendar mogu podesiti u programskom kôdu a događaji u kontroli Calendar se mogu koristiti da se izrenderuju pojedinačni dani.
//C# public partial class CalendarCSharp : System.Web.UI.Page
{
Hashtable _scheduleData;
protected void Page_Load(object sender, EventArgs e) { _scheduleData = GetSchedule();
Calendar1.Caption = "Personal Schedule";
Calendar1.FirstDayOfWeek = FirstDayOfWeek.Sunday; Calendar1.NextPrevFormat = NextPrevFormat.ShortMonth;
Calendar1.TitleFormat = TitleFormat.MonthYear;
Calendar1.ShowGridLines = true; Calendar1.DayStyle.HorizontalAlign = HorizontalAlign.Left; Calendar1.DayStyle.VerticalAlign = VerticalAlign.Top; Calendar1.DayStyle.Height = new Unit(75); Calendar1.DayStyle.Width = new Unit(100);
Calendar1.OtherMonthDayStyle.BackColor = System.Drawing.Color.Cornsilk;
Calendar1.TodaysDate = new DateTime(2009, 2, 1); Calendar1.VisibleDate = Calendar1.TodaysDate;
}
private Hashtable GetSchedule()
{
Hashtable schedule = new Hashtable();
Internet programiranje u .NET tehnologiji
7
schedule["2/9/2009"] = "Vacation Day";
schedule["2/18/2009"] = "Budget planning meeting @ 3:00pm"; schedule["2/24/2009"] = "Dinner plans with friends @ 7:00pm";
schedule["2/27/2009"] = "Travel Day";
schedule["3/5/2009"] = "Conf call @ 1:00pm"; schedule["3/10/2009"] = "Meet with art director for lunch";
schedule["3/27/2009"] = "Vacation Day";
return schedule; }
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
LabelAction.Text = "Selection changed to: "+ Calendar1.SelectedDate.ToShortDateString(); }
protected void Calendar1_VisibleMonthChanged(object sender MonthChangedEventArgs e)
{
LabelAction.Text = "Month changed to: " + e.NewDate.ToShortDateString();
}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{ if (_scheduleData[e.Day.Date.ToShortDateString()] != null) { Literal lit = new Literal(); lit.Text = "<br />";
e.Cell.Controls.Add(lit);
Label lbl = new Label(); lbl.Text = (string)_scheduleData[e.Day.Date.ToShortDateString()];
lbl.Font.Size = new FontUnit(FontSize.Small);
e.Cell.Controls.Add(lbl);
}
} } Ovaj kôd podešava svojstva kontrole Calendar, kao što su stil i veličina, u obrađivaču događaja
Page_Load .Metoda GetSchedule se dodaje da se popuni kolekcija željenih datuma. U obrađivača događaja Calendar1_DayRender dostupni su Date i Cell dana koji se renderuje. Ako se naiđe na željeni
datum, kreira se Label koja sadrži željeni datum, i ona se dodaje u Controls koleciju Cell objekata.Kada je
prikazana Web stranica, željeni datumi su izrenderovani na kontrolama Calendar, što je prikazano na Slici 2.
Internet programiranje u .NET tehnologiji
8
Slika 2: Izrenderovana Calendar kontrola prikazuje raspored
Internet programiranje u .NET tehnologiji
9
2. Kontrola FileUpload
Kontrola FileUpload se koristi da omogući korisniku da izabere i pošalje neku datoteku na server. Kontrola prikazuje polje za unos i dugme Browse. Korisnik može ili ukucati naziv fajla i putanju do njega u polje za
unos ili da klikne taster Browse i izabere fajl. Kontrola FileUpload je izvedena direktno iz klaseWebControl kako je prikazano na Slici 3.
Slika 3:Svojstva FileUpload kontrole
Kontrola FileUpload je prikazana kao <asp:FileUpload> element u Source prozoru.Ona nema nikakav
unutrašnji sadržaj tako da možete napisati ovaj element kao samostojeći. Ova kontrola generira <input type=”file”> element kada se izrenderuje u HTML.
Kontrola FileUpload ne izaziva naknadno PostBack ka Web serveru. Nakon što izabere fajl, korisnik će da izazove PostBack koristeći drugu kontrolu, kao što je Button. PostBack omogućuje da fajl bude prebačen
na server kao da su poslati podaci. Na serveru, izvršavanje stranice ne teče dok fajl ne bude skroz prebačen u memoriju servera.
Navedena svojstva daće vam razne načine da pristupite ubačenom fajlu:
- FileBytes Fajl je prikazan kao niz bajtova. - FileContent Fajl je prikazan kao tok podataka.
- PostedFile Fajl je prikazan kao objekat tipa HttpPostedFile. Ovaj objekat ima zanimljiva svojstva, kao što su vrsta sadržaja (ContentType) i dužina sadržaja (ContentLength).
Morate da ispitate svaki fajl koji je prebačen na server da bi odredili da li ga treba uskladištiti; možete
ispitati osobine kao što su naziv i veličina fajla i Multipurpose Internet Mail Extensions (MIME) tip, koja precizira tip fajla koji je prebačen. Kada ste spremni da uskadištite fajl možete koristiti metodu SaveAs iz kontrole FileUpload ili iz objekta HttpPostedFile.
Možete uskladištiti fajl na bilo koju lokaciju za koju imate dozvolu da kreirate fajlove.Podrazumjevano
atribut requireRootedSaveAsPath u elementu konfiguracije httpRuntime u fajlu Web.config je postavljen na istinito ,što znači da morate da obezbijedite apsolutnu putanju da bi mogli snimiti fajl. Možete dobiti
apsolutnu putanju koristeći metodu MapPath klase HttpServerUtility i proslijeđujući metodu tild (~) operator,koji predstavlja aplikacioni korjenski folder.
Internet programiranje u .NET tehnologiji
10
Maksimalna veličina datoteke koja može biti otpremljena zavisi od vrijednosti MaxRequestLength atributa httpRuntime konfiguracijskog elementa u Web.config fajlu.Ako korisnici ipak pokušaju da otpreme
datoteku koja je veća od MaxRequestLength,otpremanje neće uspjeti.
SIGURNOSNO UPOZORENJE Kontrola FileUplad omogućava korisnicima da prebace fajlove ali ne pokušava da utvrdi zlonamjernost prebačenih fajlova. Kontrola FileUpload nema način da filtrira po
tipovima fajlova koje korisnik hoće da prebaci, ali možete ispitati osobine fajla, kao što su naziv i
ekstenzija fajla, kao i ContentType, nakon što je fajl uspješno prebačen.
Iako možete napisati skript na strani klijenta da ispitate fajl koji će biti prebačen,zapamtite da je ispitivanja na strani klijenta pogodnost za poštenog korisnika.Zlonamjerna osoba lako može da ukloni sa
Web stranice kôd za ispitivanje.
U ovom primjeru, Web stranica je kreirana i kontrola FileUpload je dodata na stranicu. Osim toga, dodat
je Button na stranicu koja se koristi da se prebaci fajl na server putem mehanizma PostBack. Dodan je folder na Web sajtu nazvan Uploads. Slijedeći kôd je dodat u priključenu stranicu da pokaže kako svojstva
kontrole FileUpload mogu da se podese i fajl može da se prebaci i memoriše.
//C# protected void Button1_Click(object sender, EventArgs e)
{ if (FileUpload1.HasFile) {
Label1.Text = "File Length: " + FileUpload1.FileBytes.Length
+ "<br />"
+ "File Name: " + FileUpload1.FileName + "<br />" + "MIME Type: "
+ FileUpload1.PostedFile.ContentType; FileUpload1.SaveAs(MapPath("~/Uploads/" + FileUpload1.FileName));
} else {
Label1.Text = "No file received."; } } Web stranica je prikazana na Slici 4. Kada se fajl izabere i klikne na dugme Submit,programski kôd
provjerava da li je fajl prebačen. Ako je fajl uspješno prebačen, informacija o tome se upisuje u kontrolu Label radi prikazivanja. Fajl se onda memoriše u folder Uploads. Web sajt zahtijeva apsolutnu putanju,
zato MapPath vrši pretvaranje iz relativne putanje koja je data u apsolutnu putanju. Na kraju, fajl je
memorisan.
Internet programiranje u .NET tehnologiji
11
Slika 4.Kontrola FileUpload poslije otpremanja datoteke
Internet programiranje u .NET tehnologiji
12
3. Kontrola Panel
Kontrola Panel se koristi kao kontejnerska kontrola. Ona može biti veoma korisna kada morate da grupišete kontrole i radite sa njima kao jednom jedinicom. Čest primjer je potreba da se prikaže i sakrije
grupa kontrola. Kontrole Panel su takođe korisne programerima koji razvijaju kontrole sa karticama ili
uključi/isključi funkcionalnost.Kontrola Panel je izvedena direktno iz klaseWebControl što je prikazano na Slici 5.
Slika 5: Svojstva Panel kontrole
U prozoru Source, kontrola Panel je prikazana kao <asp:Panel> element. Ovaj element može mnoge
kontrole imati umetnute unutar sebe.Smatra se da su te kontrole sadržane u panelu. U HTML izlazu, kontrola Panel generira <div> element unutar preglednika.
Postoje neka svojstva kojih morate da budete svjesni kada radite sa kontrolom Panel.Svojstvo
BackImageUrl može se koristiti da prikaže pozadinsku sliku u kontroli Panel. HorizontalAlignment vam
omogućava da primjenite horizontalno poravnanje kontrola koje su u Panel. SvojstvoWrap precizira da li unutrašnje kontrole u Panel automatski prelaze u slijedeći red kada bi bio red duži od širine kontrole
Panel. Svojstvo DefaultButton određuje taster na formi na koji se virtualno klikne kada je panel u fokusu a korisnik pritisne Enter na tastaturi.Svojstvo DefaultButton se može podesiti na ID bilo koje kontrole na
vašoj web formi koja ima implementiran IButtonControl interfejs.
Kao primjer,razmotrimo stranicu za prijavu na sistem.Možete da želite taster koji omogućava korisniku da
ukine vidljiivost ove prijave.Slijedeći primjer pokazuje HTML <body> aspx datoteke. <body> <form id="form1" runat="server"> <div> <asp:Button ID="ButtonShowHide" runat="server" Text="Login: hide form" width="200" onclick="ButtonShowHide_Click"/>
<asp:Panel ID="Panel1" runat="server" BackColor="Beige" Width="200"> <asp:Label ID="Label1" runat="server" Text="User name: "></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Internet programiranje u .NET tehnologiji
13
<br /> <asp:Label ID="Label2" runat="server" Text="Password: "></asp:Label>
<br /> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <br />
<asp:Button ID="ButtonLogin" runat="server" Text="Login" /> </asp:Panel>
</div> </form>
</body>
Kôd za prikazivanje i sakrivanje ove prijave je jednostavan.Morate da obradite događaj klika na uključi/isključi taster i onda promjeniteVisible svojstvoPanel kontrole.Slijedeći primjer pokazuje to:
//C# protected void ButtonShowHide_Click(object sender, EventArgs e)
{ Panel1.Visible = !Panel1.Visible; if (Panel1.Visible)
{
ButtonShowHide.Text = "Login: hide form"; } else {
ButtonShowHide.Text = "Login: show form"; } Prikaz web stranice je dat na slici 6. Klikom na taster Show/Hide sakriva se panel i sve njegove kontrole a
klikom na taster opet prikazuje Panel i sve njegove kontrole.
Slika 6: Kontrola Panel sa tasterom za uključivanje/isključivanje vidljivosti
Internet programiranje u .NET tehnologiji
14
4. MultiView i View kontrole
Poput Panel kontrole, MultiView i View su takođe kontejnerske kontrole. One se koriste za grupisanje
drugih kontrola.Ovo je korisno kada želite da koristite i upravljate grupom kontrola kao jednom cjelinom.
MultiView služi da sadrži višeView kontrola.Kontrola View mora biti sadržana u MultiView.Ove dvije
kontrole uvijek idu zajedno.
MultiView je osmišljena da sadrži mnogo kontrola tipa View.Omogućava vam da sakrijete jedan i da onda
prikažete drugi View korisniku. MultiView se takođe koristi za kreiranje čarobnjaka,gdje svaka kontrola
View u okviru MultiView predstavlja slijedeći korak ili stranicu u čarobnjaku. MultiView i View direktno
nasljeđuje Control klasu ,kao što je prikazano na slici 7.
Slika 7:Svojstva MultiView i View kontrola
MultiView i View ne proizvode nikakve direktne HTML elemente pri renderovanju jer su ove kontrole u
suštini serverske kontrole koje upravljaju vidljivošću svojih potomak-kontrola.U prozoru Source MultiView
kontrola predstavljena je kao <asp:MultiView>,a View kontrola je predstavljena kao <asp:View>
elemenat ugnježden unutar kontrole MultiView.
Internet programiranje u .NET tehnologiji
15
Možete da koristite svojstvo ActiveViewIndex ili SetActiveView metodu za promjenu prikazane View
kontrole.Ako je ActiveViewIndex postavljen na -1, onda nijedna View kontrola nije prikazana.Ako
proslijedite nevažeći View ili null vrijednost u metodu SetActiveView,onda
HttpException je generisan. Imajte na umu da samo jedna View kontrola može biti aktivna u jednom
trenutku.
Kao primjer, zamislite stranicu za registraciju korisnika gdje trebate provesti korisnika kroz proceduru
registracije na vašem sajtu.Možete da koristite jednu MultiView kontrolu i tri View za upravljanje ovim
procesom. Svaka View kontrola predstavlja jedan korak u tom procesu.Izgled takve stranica je prikazan
na slici 8.
Slika 8:MultiWiev i View na stranici
Da bi ispravno radila stranica u ovom primjeru,tasteri na stranici su postavljeni da budu komandnog
tipa.Kada korisnik klikne na taster, CommandName svojstvo iz CommandEventArgs provjerava se da bi
utvrdili koji je taster pritisnut.Na osnovu ovih informacija,MultiView pokazuje (ili sakriva) slijedeće View
kontrole.Slijedi primjer:
Internet programiranje u .NET tehnologiji
16
//C# public partial class ViewControl : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e) {
MultiView1.ActiveViewIndex = 0;
}
protected void Button_Command(object sender, CommandEventArgs e) { switch (e.CommandName) {
case "Step1Next": MultiView1.ActiveViewIndex = 1;
break;
case "Step2Back": MultiView1.ActiveViewIndex = 0;
break;
case "Step2Next": MultiView1.ActiveViewIndex = 2;
break;
case "Step3Back": MultiView1.ActiveViewIndex = 1;
break;
case "Finish":
//hide control from user to simulate save
MultiView1.ActiveViewIndex = -1;
break;
}
}
} Kada je stranica prikazana,prvi korak je vidljiv korisniku. Kada on klikne Next obrada se onda odvija na
serveru i Button_Command se pokreće.Stranica se mijenja i prikazuje drugu kontrolu View na osnovu
rezultata ovog događaja .Slika 9 prikazuje kontrolu MultiView na djelu.
Internet programiranje u .NET tehnologiji
17
Slika 8: MultiView se koristi za prebacivanje između View kontrola na serveru
Internet programiranje u .NET tehnologiji
18
5. Wizard Kontrola
Wizard kontrola je složena kontrola koja se koristi da prikaže niz WizardStep kontrola korisniku, jedan
po jedan, kao dio procesa prikupljanje podataka od korisnika.Wizard kontrola zasniva se na MultiView i
View kontrolama koje su prethodno predstavljene. One pružaju funkcionalnost koja osigurava da samo
jedna WizardStep kontrola je vidljiva u jednom trenutku i omogućava da prilagodite većinu aspekata
Wizard i WizardStep kontrola.Najznačajnija upotreba Wizard kontrole je da omogući zahvatanje od
korisnika velike količine podataka razbijanjem podatka u logičke cjeline, ili korake.Wizard kontrola
prikazuje korisniku korake koji mogu biti validirani, ili na kraju cijelog procesa, ili kraju svakog koraka.
Sigurno možete da postići isti rezultat pomoću zasebnih Web stranica za svaki korak,ali Wizard
konsoliduje proces prikupljanja podataka u jednoj Web stranici.
Wizard kontrola naslijeđuje CompositeControl klasu.Kontrola koristi BaseWizardStep kontrolu, koja
naslijeđuje View kontrolu. Ovaj model je prikazan na slici 9. Primjetimo da Wizard kontrola ima u sebi
WizardSteps kolekciju koja sadrži korisnički interfejs za svaki korak koji će biti kreiran od strane
programera.Kao što se može na slici vidjeti,postoji spisak mnogih stilova koji mogu biti primjenjeni na
dijelove Wizard kontrole;tako ova kontrola može biti značajno prilagođena sopstvenim potrebama.
Slika 9:Wizard i WizardStep hijerarhija klasa sa svojstvima
Internet programiranje u .NET tehnologiji
19
Wizard kontrola sadrži zaglavlje koje se može prilagoditi da prikazuje informacije koje su specifične za
korak sa kojim se korisnik trenutno bavi. Wizard kontrola takođe sadrži oblast sa spiskom svih koraka
koja se može koristiti da bi ste brzo došli do određenog koraka.Takođe možete da kroz programski kôd
kontrolišete koji korak je prikazan; niste ograničeni na linearno kretanje kroz korake.
Ugrađena navigaciona funkcionalnost određuje koji tasteri su prikazani na osnovu StepType vrijednosti.
BaseWizardStep klasa sadrži StepType svojstvo koje može imati slijedeće vrijednosti:
- WizardStepType.Auto Renderuje tastere za navigaciju na osnovu lokacije postavljene unutar
WizardSteps svojstva.To je podrazumjevana vrijednost.
- WizardStepType.Complete Ovo je zadnji korak.Nema navigacionih tastera.
- WizardStepType.Finish Ovo je posljednji korak u prikupljanju podataka. Finish i Previous
tasteri su prikazani.
- WizardStepType.Start Ovo je prvi korak koji da se pojavljuje i ima samo Next taster.
- WizardStepType.Step Ovo je bilo koji međukorak između Start i Finish koraka. Previous i Next
tasteri su prikazani.
U ovom primjeru,Wizard daje korisnicima mogućnost da izaberu opcije za auto.U stvarnom izboru za auto
mnogo više bi opcija bilo na na raspolaganju.Ovo diktira pojednostavljene opcije za korisnika(i na taj
način opravdava korišćenje Wizard kontrole).
Da bih ste kreirari web formu za ovaj primjer morate dodati Wizard kontrolu na stranicu.Unutar Wizard
kontrole su WizardStep kontrole,po jedan za svaki izbor,i to:exterior, interior, options i summary.Exterior
korak sadrži tri RadioButton kontrole za izbor crvene,plave ili crne spoljašne boje.Izbor unutrašnjosti
sadrži dva RadioButton za izbor kožnih ili tekstilnih sjedišta.Izbor opreme sadrži CheckBox kontrole za
izbor AM/FM radia,grijanje sjedišta,kao i klime. Summary korak sadrži Label kontrolu koja je popunjena
izborima koji su napravljeni u predhodnim koracima.Sva četiri WizardStep ekrana su isječena iz Visual
Studio i stavljeni na sliku 10.
Slika 10:WizardStep kontrole su popunjene sa kontrolama koje će biti prikazane korisniku
Internet programiranje u .NET tehnologiji
20
Nakon što su WizardStep kontrole stvorene i svaki korak je popunjen,kôd je napisan u priključenoj
stranici radi popunjavanje kontrole Label u zadnjem koraku.Takođe programski kôd je dodat u obrađivač
događaja Form_Load da se osigura da Wizard se pokrene sa tačno prvim korakom.I na kraju,potreban
kôd je dodat u Wizard1_FinishButtonClick obrađivač događaja za prikazivanje rezultata.Primjer slijedi:
//C# public partial class WizardCSharp : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) {
Wizard1.ActiveStepIndex = 0; } }
protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs
e)
{ Wizard1.Visible = false;
Response.Write("Finished<br />" + Label1.Text);
}
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
{ if (Wizard1.WizardSteps[e.NextStepIndex].Title == "Summary")
{
Label1.Text = String.Empty; foreach (WizardStep ws in Wizard1.WizardSteps)
{ foreach (Control c in ws.Controls) { if (c is CheckBox) { CheckBox cb = (CheckBox)c; if (cb.Checked)
{
Label1.Text += cb.Text + "<br />";
} }
}
Kada je stranica prikazana, korisnik vidi prvi korak(Exterior).Korisnik može da ide iz koraka u korak,a na
posljednjem koraku će kliknuti Finish.U Summary koraku Label kontrola prikazuje trenutne izbore.Poslije
klika korisnika na Finish,Wizard kontrola će biti sakrivena i sažetak će biti prikazan.
Internet programiranje u .NET tehnologiji
21
6. Xml kontrola
Xml kontrola se koristi za prikazivanje sadržaja XML dokumenata.Ova kontrola je korisna ako su vaši
podaci sačuvani u XML formatu i morate da izvršite transformaciju pomoću Extensible Stylesheet
Language(XSL).Podaci se tada mogu izrendovati i prikazati korisniku koristeći Xml kontrolu.Hijerarhija
svojstva i metoda Xml kontrole je prikazana na slici 11.
Slika 11: Xml kontrola(svojstva,metode)
XML dokument koji želite da prikažete se određuje postavljanjem svojstva DocumentSource ili svojstva
DocumentContent. Svojstvo DocumentSource je string koji određuje lokaciju XML dokumenta koji će
onda biti učitan u kontrolu. Svojstvo DocumentContent je string koja sadrži fiksni XML sadržaj.Ako su
svojstva DocumentContent i DocumentSource oba postavljena,onda se koristi ono svojstvo koje je zadnje
postavljeno.
Internet programiranje u .NET tehnologiji
22
SvojstvoTransformSource je opcioni string koja sadrži lokaciju transformacionog XSL fajla koji se
primijenjuje na XML dokument.Svojstvo Transform prihvaća Transform objekt koji se može koristiti za
obavljanje transformacije takođe.Ako su oba svojstva postavljena,zadnje postavljeno je važeće.Xml
kontrola dodatno sadrži svojstvo TransformArgumentList koje se koristi da se proslijede argumenti za XSL
transformaciju.
U narednom primjeru,Xml kontrola se koristi za prikazivanje sadržaja XML fajla nakon primjene XSL
transforamcije.XML i XSL fajl su dati ispod:
XML datoteka: ProductList.xml
<?xml version="1.0" encoding="utf-8" ?> <ProductList>
<Product Id="1A59B" Department="Sporting Goods" Name="Baseball" Price="3.00" />
<Product Id="9B25T" Department="Sporting Goods" Name="Tennis Racket" Price="40.00" />
<Product Id="3H13R" Department="Sporting Goods" Name="Golf Clubs" Price="179.00" />
<Product Id="7D67A" Department="Clothing" Name="Shirt" Price="12.00" />
<Product Id="4T21N" Department="Clothing" Name="Jacket" Price="45.00" />
</ProductList>
XSL transformaciona datoteka: ProductList.xsl
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:labs="http://labs.com/mynamespace"> <xsl:template match="/">
<html>
<head> <title>Product List</title>
</head>
<body>
<center> <h1>Product List</h1>
<xsl:call-template name="CreateHeading"/>
</center>
</body> </html>
</xsl:template> <xsl:template name="CreateHeading">
<table border="1" cellpadding="5"> <tr >
<th bgcolor="yellow">
<font size="4" > <b>Id</b>
</font> </th> <th bgcolor="yellow">
Internet programiranje u .NET tehnologiji
23
<font size="4" > <b>Department</b> </font>
</th> <th bgcolor="yellow">
<font size="4" >
<b>Name</b>
</font> </th> <th bgcolor="yellow"> <font size="4" >
<b>Price</b>
</font> </th> </tr>
<xsl:call-template name="CreateTable"/>
</table>
</xsl:template> <xsl:template name="CreateTable"> <xsl:for-each select="/ProductList/Product">
<tr>
<td align="center"> <xsl:value-of select="@Id"/>
</td>
<td align="center"> <xsl:value-of select="@Department"/>
</td>
<td> <xsl:value-of select="@Name"/>
</td>
<td align="right"> <xsl:value-of select="format-number(@Price,'$#,##0.00')"/>
</td>
</tr> </xsl:for-each>
</xsl:template> </xsl:stylesheet>
Na stranicu za ovaj primjer Xml kontrola se dodaje.Slijedeći programski kôd je dodat u priključeni fajl da
prikaže XML fajl poslije primjene XSL transformacije:
//C# public partial class XmlControlVb : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e) { Xml1.DocumentSource = "App_Data/ProductList.xml"; Xml1.TransformSource = "App_Data/ProductList.xsl"; }
}
Internet programiranje u .NET tehnologiji
24
Kada je stranica prikazana, XML i XSL fajl se učitavaju i rezultat transformacije je prikazan na slici 12.
Slika 12:Rezultat primjene XSL transformacije na XML podatke
Internet programiranje u .NET tehnologiji
25
7. Zaključak
Calendar kontrola prikazuje kalendar preko koje korisnici mogu kreirati bilo koji dan u bilo kojoj
godini.Calendar se može konfigurisati da omogući korisnicima da izaberu više datuma,cijelu sedmicu ili
čitav mjesec.Calendar kontrola se zasnima na .NET Framework DateTime,a samim tim podržava čitav niz
datuma koji je dozvoljen po tom objektu.Kalendar kontrola je prilično složena kontrola i ima dosta
programiranja i oblikovanja opcija.
Kontrola FileUpload se koristi da omogući korisniku da izabere i ubaci jedan fajl na server. Kontrola
prikazuje tekst, prozorčić i dugme za pretraživanje. Korisnik može ili ukucati naziv fajla i "putanju" u tekst
prozorčić ili kliknite dugme pretraži i izaberite fajl. Kontrola ubacivanja fajla je izvedena direktno iz klase
WebControl .
Kontrola Panel je izvedena iz WebControl klase.Tako da nasledjuje sva svojstva,metode,i dogadjaje
isto,on nema nikakav metod ili dogadjaj za sebe.
MultiWiev je nova funkcija koja je predstavljena sa visual studio 2005.Glavna prednost MultiWiev kontrole
je da možemo odrediti potrebni prikaz. MultiWiev kontrole pomaže nam da stvorimo različite poglede na
jednoj stranici.
Wizard kontrola eleminiše potrebu da projektuje oblike izvršavanja korak po korak procesa.Ovo
pojednostavlja programerima da dizajnira i pisanje koda.Kontrola obezbjeđuje mehanizam koji
omogućava za lako izgradi željeni wizard kao kolekciju koraka,dodati novi korak ili preurediti korake.
The XML kontrola se koristi za prikazivanje XML dokumenata ili rezultata XSL Transform.Takodje možete
odrediti XSLT document pre nogo što je prikazano na izrazu.
Internet programiranje u .NET tehnologiji
26
8. Literatura
[1] http://www.w3schools.com/aspnet/control_xml.asp
[2] http://en.wikipedia.org/wiki/ASP.NET
[3] http://en.wikipedia.org/wiki/.NET_Framework
[4] http://www.w3schools.com/aspnet/control_calendar.asp
[5] http://www.google.com