You are on page 1of 26

FAKULTET ZA INFORMACIONE TEHNOLOGIJE

SEMINARSKI RAD Internet programiranje u .NET tehnologiji TEMA


Pregled serverskih kontrola Calendar, FileUpload, Panel, MultiView, Wizard i XML

Mentor: Januar,godine

Student: Broj indeksa:

Internet programiranje u .NET tehnologiji

Sadraj
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. Zakljuak .............................................................................................................................. 26 8. Literatura ............................................................................................................................. 27

Internet programiranje u .NET tehnologiji

1. Kontrola Calendar
Kontrola Calendar omoguava vam da prikaete kalendar na web stranici. Calendar se moe koristiti kada traite od korisnika da izabere odreeni datum ili vremenski period. Korisnici mogu tako da se lako kreu izmeu godina, mjeseci i dana. Kontrola Calendar je sloena i mona serverska kontrola koju moete 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 moe da sadri 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 moe koristiti da se izabere jedan datum ili vie datuma. To kontrolie svojstvo SelectionMode. Ono se moe podesiti na jedno od slijedeih vrijednosti:

Internet programiranje u .NET tehnologiji

-Day Omoguava izbor jednog datuma. -DayWeek Omoguava izbor ili jednog datuma ili cijele sedmice. -DayWeekMonth Omoguava izbor jednog datuma, cijele sedmice ili cijelog mjeseca. -None Ne dozvoljava da izaberete ni jedan datum.
Kontrola Calendar sadri mnoga dodatna svojstva koje se mogu koristiti da se podesi format i ponaanje ove kontrole. Tabela 1 sadri spisak svojstva kontrole Calendar i njihove opise.

Svojstvo:

Opis: Naslov u kalendaru. Poravnanje naslova:Gore (Top), Dolje (Bottom), Lijevo (Left), Desno (Right) ili Nije podeeno (NotSet). Razmak izmeu svake elije i njene ivice. Razmak izmeu elija. Stil koji e se primijeniti na radne dane. Format za imena radnih dana:Prvo slovo (FirstLetter), Prva dva slova (FirstTwoLetters), Cijeli naziv (Full), Kratki naziv (Short), Najkrai naziv (Shortest). Podrazumjevani stil za dan u kalendaru. Dan u sedmici koji e biti prikazan u prvoj koloni kontrole Calendar. Tekst koji se prikazuje za prelazak u naredni mjesec; >je podrazumjevana vrijednost. Ovo funkcionie samo ako je ShowNextPrevMonth svojstvo istinito. Svojstvo koje postavlja format za prelazak na slijedei i prethodni mjesec.Moe se podesiti na CustomText (podrazumjevano),FullMonth (na primjer Januar) ili ShortMonth(na primjer Jan).

Caption CaptionAlign CellPadding CellSpacing DayHeaderStyle DayNameFormat

DayStyle FirstDayOfWeek NextMonthText NextPrevFormat

NextPrevStyle

Stil koji se primjenjuje na tekst za prelazak na slijedeu i predhodni mjesec. Svojstvo koji odreuje stil za dane na kalendaru koji su prikazani ali nisu u tekuem mjesecu. Tekst koji se prikazuje za prelazak na prethodni mjesec ; koji je podrazumjevano <.Ovo je mogue samo ako je ShowNextPrevMonth svojstvo istinito. Datum koji je odabran od strane korisnika Kolekcija vrijednosti DateTime predstavlja sve datume koji su izabrani od strane korisnika.Ovo svojstvo sadri samo jedan datum kada SelectionMode svojstvo postavljeno na

OtherMonthDayStyle

PrevMonthText

SelectedDate SelectedDates

Internet programiranje u .NET tehnologiji

CalendarSelectionMode.Day to dozvoljava izbor


samo jednog dana.

SelectedDayStyle SelectionMode

Stil izabranog dana. Vrijednost koja pokazuje koliko dana moe biti izabrano.Vrijednost moe biti Day, DayWeek, DayWeekMonth ili None. Tekst prikazan u koloni za mjesec .Podrazumjevana vrijednost je >>. Stil za selektore sedmice i mjeseca. Tekst selektora sedmice. Indikator koji odreuje da li treba da bude neki dan prikazan. Indikator koji odreuje da li treba mrena linija biti prikazana. Indikator koji odreuje da li treba naslov biti prikazan. Svojstvo koje postavlja format za prikazivanje mjeseca (Month) ili mjeseca i godine (MonthYear). Stil za naslov. Stil dananjeg dana. Dananji datum. Kontrola, kada je ovo svojstvo istinito,generie <th> zaglavlje dana(podrazumjevana vrijednost) ili kada je podeeno na neistinto generie <td> za zaglavlja dana da budu kompatibilna sa verzijom 1.0 .NET okruenja. Svojstvo koje odreuje koji mjesec prikazati u kalendaru. Stil dana vikenda.
Tabela 1: Spisak svojstava kalendara i njihovi opisi.

SelectMonthText SelectorStyle SelectWeekText ShowDayHeader ShowGridLines ShowTitle TitleFormat TitleStyle TodayDayStyle TodaysDate UseAccessibleHeader

VisibleDate WeekendDayStyle

Internet programiranje u .NET tehnologiji

Kontrola Calendar takoe objavljuje nekoliko dogaaja sa kojima se moe raditi. Primarni dogaaj, SelectionChanged, se deava nakon to korisnik izabere datum na kontroli. Dogaaj SelectionChanged izaziva PostBack kada korisnik izabere novi datum. Unutar obraivaa dogaaja pristupate izabranim datumima preko svojstva SelectedDates. Svojstvo SelectedDate jednostavno pokazuje na jedan izabrani datum SelectedDates kolekcije. Dogaaj VisibleMonthChanged takoe izaziva PostBack kada korisnik izabere da se vidi neki drugi mjesec. Ovaj dogaaj moete obraditi ako morate da odgovorite na korisnikovo prebacivanje izmeu mjeseci u kontroli. Kontrola Calendar se obino koristi kao kontrola za biranje datuma. Meutim, ona se takoe moe koristiti da prikae planirani raspored. Tehnika da bi se koristila kontrola Calendar da prikae planirani raspored i eljene dane kao to su praznici je da se kontrola napravi dovoljno iroko da prikae tekst za svaki dan. Onda moete da dodate kontrolu Label (ili druge kontrole) u Controls kolekciju Cell objekata u DayRender obraivau dogaaja.Dogaaj DayRender u kontroli Calendar pokree se kada neki dan se priprema za slanje na izlaz. To nije PostBack nego dogaaj koji se okida na serveru kada se kontrola renderuje u svoj HTML. To vam omoguava da dodate tekst ili kontrole u dan koji se renderuje. Slijedei primjer pokazuje kako se kontrola Calendar moe koristiti da prikae planirani raspored. U ovom primjeru, kreirana je Web stranica i na stranicu je dodana kontrola Calendar. Slijedei kd je dodat u prikljuenu stranicu da pokae kako se svojstva kontrole Calendar mogu podesiti u programskom kdu a dogaaji u kontroli Calendar se mogu koristiti da se izrenderuju pojedinani 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

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 kd podeava svojstva kontrole Calendar, kao to su stil i veliina, u obraivau dogaaja Page_Load .Metoda GetSchedule se dodaje da se popuni kolekcija eljenih datuma. U obraivaa dogaaja Calendar1_DayRender dostupni su Date i Cell dana koji se renderuje. Ako se naie na eljeni datum, kreira se Label koja sadri 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

Slika 2: Izrenderovana Calendar kontrola prikazuje raspored

Internet programiranje u .NET tehnologiji

2. Kontrola FileUpload
Kontrola FileUpload se koristi da omogui korisniku da izabere i poalje neku datoteku na server. Kontrola prikazuje polje za unos i dugme Browse. Korisnik moe 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 unutranji sadraj tako da moete napisati ovaj element kao samostojei. 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 koristei drugu kontrolu, kao to je Button. PostBack omoguuje da fajl bude prebaen na server kao da su poslati podaci. Na serveru, izvravanje stranice ne tee dok fajl ne bude skroz prebaen u memoriju servera. Navedena svojstva dae vam razne naine da pristupite ubaenom 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 sadraja (ContentType) i duina sadraja (ContentLength). Morate da ispitate svaki fajl koji je prebaen na server da bi odredili da li ga treba uskladititi; moete ispitati osobine kao to su naziv i veliina fajla i Multipurpose Internet Mail Extensions (MIME) tip, koja precizira tip fajla koji je prebaen. Kada ste spremni da uskaditite fajl moete koristiti metodu SaveAs iz kontrole FileUpload ili iz objekta HttpPostedFile. Moete uskladititi 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 znai da morate da obezbijedite apsolutnu putanju da bi mogli snimiti fajl. Moete dobiti apsolutnu putanju koristei metodu MapPath klase HttpServerUtility i proslijeujui metodu tild (~) operator,koji predstavlja aplikacioni korjenski folder.

Internet programiranje u .NET tehnologiji

Maksimalna veliina datoteke koja moe biti otpremljena zavisi od vrijednosti MaxRequestLength atributa httpRuntime konfiguracijskog elementa u Web.config fajlu.Ako korisnici ipak pokuaju da otpreme datoteku koja je vea od MaxRequestLength,otpremanje nee uspjeti.

SIGURNOSNO UPOZORENJE

Kontrola FileUplad omoguava korisnicima da prebace fajlove ali ne pokuava da utvrdi zlonamjernost prebaenih fajlova. Kontrola FileUpload nema nain da filtrira po tipovima fajlova koje korisnik hoe da prebaci, ali moete ispitati osobine fajla, kao to su naziv i ekstenzija fajla, kao i ContentType, nakon to je fajl uspjeno prebaen. Iako moete napisati skript na strani klijenta da ispitate fajl koji e biti prebaen,zapamtite da je ispitivanja na strani klijenta pogodnost za potenog korisnika.Zlonamjerna osoba lako moe da ukloni sa Web stranice kd 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. Slijedei kd je dodat u prikljuenu stranicu da pokae kako svojstva kontrole FileUpload mogu da se podese i fajl moe da se prebaci i memorie. //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 kd provjerava da li je fajl prebaen. Ako je fajl uspjeno prebaen, informacija o tome se upisuje u kontrolu Label radi prikazivanja. Fajl se onda memorie u folder Uploads. Web sajt zahtijeva apsolutnu putanju, zato MapPath vri pretvaranje iz relativne putanje koja je data u apsolutnu putanju. Na kraju, fajl je memorisan.

10

Internet programiranje u .NET tehnologiji

Slika 4.Kontrola FileUpload poslije otpremanja datoteke

11

Internet programiranje u .NET tehnologiji

3. Kontrola Panel
Kontrola Panel se koristi kao kontejnerska kontrola. Ona moe biti veoma korisna kada morate da grupiete kontrole i radite sa njima kao jednom jedinicom. est primjer je potreba da se prikae i sakrije grupa kontrola. Kontrole Panel su takoe korisne programerima koji razvijaju kontrole sa karticama ili ukljui/iskljui 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 moe mnoge kontrole imati umetnute unutar sebe.Smatra se da su te kontrole sadrane 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 moe se koristiti da prikae pozadinsku sliku u kontroli Panel. HorizontalAlignment vam omoguava da primjenite horizontalno poravnanje kontrola koje su u Panel. SvojstvoWrap precizira da li unutranje kontrole u Panel automatski prelaze u slijedei red kada bi bio red dui od irine kontrole Panel. Svojstvo DefaultButton odreuje taster na formi na koji se virtualno klikne kada je panel u fokusu a korisnik pritisne Enter na tastaturi.Svojstvo DefaultButton se moe podesiti na ID bilo koje kontrole na vaoj web formi koja ima implementiran IButtonControl interfejs. Kao primjer,razmotrimo stranicu za prijavu na sistem.Moete da elite taster koji omoguava korisniku da ukine vidljiivost ove prijave.Slijedei 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>

12

Internet programiranje u .NET tehnologiji

<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> Kd za prikazivanje i sakrivanje ove prijave je jednostavan.Morate da obradite dogaaj klika na ukljui/iskljui taster i onda promjeniteVisible svojstvoPanel kontrole.Slijedei 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 ukljuivanje/iskljuivanje vidljivosti

13

Internet programiranje u .NET tehnologiji

4. MultiView i View kontrole


Poput Panel kontrole, MultiView i View su takoe kontejnerske kontrole. One se koriste za grupisanje drugih kontrola.Ovo je korisno kada elite da koristite i upravljate grupom kontrola kao jednom cjelinom. MultiView slui da sadri vieView kontrola.Kontrola View mora biti sadrana u MultiView.Ove dvije kontrole uvijek idu zajedno.

MultiView je osmiljena da sadri mnogo kontrola tipa View.Omoguava vam da sakrijete jedan i da onda prikaete drugi View korisniku. MultiView se takoe koristi za kreiranje arobnjaka,gdje svaka kontrola View u okviru MultiView predstavlja slijedei korak ili stranicu u arobnjaku. MultiView i View direktno nasljeuje 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 sutini serverske kontrole koje upravljaju vidljivou svojih potomak-kontrola.U prozoru Source MultiView kontrola predstavljena je kao <asp:MultiView>,a View kontrola je predstavljena kao <asp:View> elemenat ugnjeden unutar kontrole MultiView.

14

Internet programiranje u .NET tehnologiji

Moete 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 nevaei View ili null vrijednost u metodu SetActiveView,onda HttpException je generisan. Imajte na umu da samo jedna View kontrola moe biti aktivna u jednom trenutku. Kao primjer, zamislite stranicu za registraciju korisnika gdje trebate provesti korisnika kroz proceduru registracije na vaem sajtu.Moete 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) slijedee View kontrole.Slijedi primjer:

15

Internet programiranje u .NET tehnologiji

//C# public partial class ViewControl { protected void Page_Load(object { MultiView1.ActiveViewIndex = 0; }

: sender,

System.Web.UI.Page EventArgs e)

protected void Button_Command(object { 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; } } }

sender,

CommandEventArgs

e)

Kada je stranica prikazana,prvi korak je vidljiv korisniku. Kada on klikne Next obrada se onda odvija na serveru i Button_Command se pokree.Stranica se mijenja i prikazuje drugu kontrolu View na osnovu rezultata ovog dogaaja .Slika 9 prikazuje kontrolu MultiView na djelu.

16

Internet programiranje u .NET tehnologiji

Slika 8: MultiView se koristi za prebacivanje izmeu View kontrola na serveru

17

Internet programiranje u .NET tehnologiji

5. Wizard Kontrola
Wizard kontrola je sloena kontrola koja se koristi da prikae 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 pruaju funkcionalnost koja osigurava da samo jedna WizardStep kontrola je vidljiva u jednom trenutku i omoguava da prilagodite veinu aspekata Wizard i WizardStep kontrola.Najznaajnija upotreba Wizard kontrole je da omogui zahvatanje od korisnika velike koliine podataka razbijanjem podatka u logike cjeline, ili korake.Wizard kontrola
prikazuje korisniku korake koji mogu biti validirani, ili na kraju cijelog procesa, ili kraju svakog koraka. Sigurno moete da postii isti rezultat pomou zasebnih Web stranica za svaki korak,ali Wizard konsoliduje proces prikupljanja podataka u jednoj Web stranici.

Wizard kontrola naslijeuje CompositeControl klasu.Kontrola koristi BaseWizardStep kontrolu, koja naslijeuje View kontrolu. Ovaj model je prikazan na slici 9. Primjetimo da Wizard kontrola ima u sebi WizardSteps kolekciju koja sadri korisniki interfejs za svaki korak koji e biti kreiran od strane
programera.Kao to se moe na slici vidjeti,postoji spisak mnogih stilova koji mogu biti primjenjeni na dijelove Wizard kontrole;tako ova kontrola moe biti znaajno prilagoena sopstvenim potrebama.

Slika 9:Wizard i WizardStep hijerarhija klasa sa svojstvima

18

Internet programiranje u .NET tehnologiji

Wizard kontrola sadri zaglavlje koje se moe prilagoditi da prikazuje informacije koje su specifine za korak sa kojim se korisnik trenutno bavi. Wizard kontrola takoe sadri oblast sa spiskom svih koraka
koja se moe koristiti da bi ste brzo doli do odreenog koraka.Takoe moete da kroz programski kd kontroliete koji korak je prikazan; niste ogranieni na linearno kretanje kroz korake. Ugraena navigaciona funkcionalnost odreuje koji tasteri su prikazani na osnovu StepType vrijednosti. BaseWizardStep klasa sadri StepType svojstvo koje moe imati slijedee 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 meukorak izmeu Start i Finish koraka. Previous i Next tasteri su prikazani. U ovom primjeru,Wizard daje korisnicima mogunost da izaberu opcije za auto.U stvarnom izboru za auto mnogo vie bi opcija bilo na na raspolaganju.Ovo diktira pojednostavljene opcije za korisnika(i na taj nain opravdava korienje 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 sadri tri RadioButton kontrole za izbor crvene,plave ili crne spoljane boje.Izbor unutranjosti sadri dva RadioButton za izbor konih ili tekstilnih sjedita.Izbor opreme sadri CheckBox kontrole za izbor AM/FM radia,grijanje sjedita,kao i klime. Summary korak sadri Label kontrolu koja je popunjena izborima koji su napravljeni u predhodnim koracima.Sva etiri WizardStep ekrana su isjeena iz Visual Studio i stavljeni na sliku 10.

Slika 10:WizardStep kontrole su popunjene sa kontrolama koje e biti prikazane korisniku

19

Internet programiranje u .NET tehnologiji

Nakon to su WizardStep kontrole stvorene i svaki korak je popunjen,kd je napisan u prikljuenoj stranici radi popunjavanje kontrole Label u zadnjem koraku.Takoe programski kd je dodat u obraiva dogaaja Form_Load da se osigura da Wizard se pokrene sa tano prvim korakom.I na kraju,potreban kd je dodat u Wizard1_FinishButtonClick obraiva dogaaja 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 moe 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 saetak e biti prikazan.

20

Internet programiranje u .NET tehnologiji

6. Xml kontrola
Xml kontrola se koristi za prikazivanje sadraja XML dokumenata.Ova kontrola je korisna ako su vai
podaci sauvani u XML formatu i morate da izvrite transformaciju pomou Extensible Stylesheet Language(XSL).Podaci se tada mogu izrendovati i prikazati korisniku koristei Xml kontrolu.Hijerarhija svojstva i metoda Xml kontrole je prikazana na slici 11.

Slika 11: Xml kontrola(svojstva,metode)

XML dokument koji elite da prikaete se odreuje postavljanjem svojstva DocumentSource ili svojstva DocumentContent. Svojstvo DocumentSource je string koji odreuje lokaciju XML dokumenta koji e onda biti uitan u kontrolu. Svojstvo DocumentContent je string koja sadri fiksni XML sadraj.Ako su svojstva DocumentContent i DocumentSource oba postavljena,onda se koristi ono svojstvo koje je zadnje postavljeno.

21

Internet programiranje u .NET tehnologiji

SvojstvoTransformSource je opcioni string koja sadri lokaciju transformacionog XSL fajla koji se primijenjuje na XML dokument.Svojstvo Transform prihvaa Transform objekt koji se moe koristiti za obavljanje transformacije takoe.Ako su oba svojstva postavljena,zadnje postavljeno je vaee.Xml kontrola dodatno sadri svojstvo TransformArgumentList koje se koristi da se proslijede argumenti za XSL transformaciju. U narednom primjeru,Xml kontrola se koristi za prikazivanje sadraja 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">

22

Internet programiranje u .NET tehnologiji

<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.Slijedei programski kd je dodat u prikljueni fajl da prikae 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"; } }

23

Internet programiranje u .NET tehnologiji

Kada je stranica prikazana, XML i XSL fajl se uitavaju i rezultat transformacije je prikazan na slici 12.

Slika 12:Rezultat primjene XSL transformacije na XML podatke

24

Internet programiranje u .NET tehnologiji

7. Zakljuak
Calendar kontrola prikazuje kalendar preko koje korisnici mogu kreirati bilo koji dan u bilo kojoj godini.Calendar se moe konfigurisati da omogui korisnicima da izaberu vie datuma,c ijelu sedmicu ili itav mjesec.Calendar kontrola se zasnima na .NET Framework DateTime,a samim tim podrava itav niz
datuma koji je dozvoljen po tom objektu .Kalendar kontrola je prilino sloena kontrola i ima dosta programiranja i oblikovanja opcija. Kontrola FileUpload se koristi da omogui korisniku da izabere i ubaci jedan fajl na server. Kontrola prikazuje tekst, prozori i dugme za pretraivanje. Korisnik moe ili ukucati naziv fajla i "putanju" u tekst prozori ili kliknite dugme pretrai 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 moemo odrediti potrebni prikaz. MultiWiev kontrole pomae nam da stvorimo razliite poglede na
jednoj stranici.

Wizard kontrola eleminie potrebu da projektuje oblike izvravanja korak po korak procesa.Ovo
pojednostavlja programerima da dizajnira i pisanje koda.Kontrola obezbjeuje mehanizam koji omoguava 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 moete odrediti XSLT document pre nogo to je prikazano na izrazu.

25

Internet programiranje u .NET tehnologiji

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

26