Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Social Networking alkalmazás fejlesztése ASP.NET 3.5-tel Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
ADATBÁZIS KEZELÉS – Adattípusok
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Cells(sor száma, oszlop száma)
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Beépített vezérlők és validáció
Bevezetés a Java programozásba
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos
Tömbök ismétlés Osztályok Java-ban Garbage collection
Java Típuskonverziók.
Hernyák Zoltán XML validálás.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C# Alapok Krizsán Zoltán.
C# tagfüggvények.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
C# tagfüggvények.
Entity framework Krizsán Zoltán
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
Microsoft szoftverek a szakképzésben
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Annotációk a Java 5 nyelvben Kozsik Tamás. Annotációk Módosítószavak bővítése A programszöveg elemeihez rendelhetők –Csomagokhoz, típusokhoz, metódusokhoz,
Kliensoldali Programozás
Lénárt Anett egyetemi adjunktus - PTE PMMK Rendszer- és Szoftvertechnológia Tanszék Előadás JavaScript Tananyag: W eb - programozás.
Egyszerű webes alkalmazás fejlesztése
Webszerkesztés Űrlapok a HTML-ben. Űrlap létrehozása Űrlapunk tartalma a … elemek között fog helyetfoglalni Egy lapon több űrlap is elhelyezhető Több.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Optimalizálás Ez az előadó neve beosztása vállalata.
Vezérlők használata és írása Ez az előadó neve beosztása vállalata.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Klasszikus Programozás a FoxPro-ban
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
Meglévő ASP.NET 2.0 alkalmazás kiegészítése AJAX-szal
Hernyák Zoltán XML Schema sémadefiníció.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Visual Basic 2008 Express Edition
1 Verseny 2000 gyakorlat ASP. 2 Gyakorlat Web létrehozása: Frontpage 2000 New Web:
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
További lehetőségek Weblapok programozása. Nyelvek csoportosítása Leíró nyelv (HTML, XML, …) Programozási nyelv  Szerver oldali (PHP, ASP, …)  Kliens.
Webprogramozó tanfolyam
A Visual Basic nyelvi elemei
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
Illés Zoltán ELTE Informatikai Kar
Java web programozás 7-8..
Violet nails Készítette: Csőke Vivien. Bevezetés Téma: Violet nails - műkörömkészítő weblapjának elkészítése A weboldal elérhető az alábbi címen: violetnails.atw.hu.
Apartman – kezelő rendszer implementálása 2 Írta: Kátai Kornél Bálint, 2007 Mail: (A nyugalom megzavarására alkalmas kép- és szöveganyagot.
A Visual Basic és a programozás oktatása
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Gépészeti informatika (BMEGEMIBXGI)
ListBox CheckedListBox TextBox
Neumann János Informatikai Kar
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Adatkötés Sablonokkal
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Változók.
Adatszerkezetek.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán

Vezérlők tartalmának ellenőrzése Érték ellenőrzés Automatikus hibaüzenet kiírás, adatok újrakérése RequiredFieldValidator – kitöltött e?

Két fajtája van, a programozó munkája ugyanaz Kliens oldali(uplevel client support): DHTML, java szkript Szerver oldali(downlevel client support): ilyenkor visszaküldi az oldalt hibaüzenet a vezérlő mellett. a feldolgozás alatt: Page.IsValid – akkor érvényes az oldal, ha minden vezérlő az! ha még nem volt ellenőrzés, akkor kivétel keletkezik!

1. Helyezzünk fel egy beviteli mezőt! 2. Helyezzük fel az ellenőrző vezérlőt! 3. Állítsuk be a ControlToValidate tulajdonságát az ellenőrzőnek a beviteli vezérlőre! 4. Állítsuk be a ErrorMessage tulajdonságát az ellenőrzőnek a hiba jelzés szövegére! 5. Text tulajdonságot állítsuk be! Ez mindig megjelenik. pl. : * 6. Helyezzünk egy ValidationSummary vezérlőt a formra!

Egy vezérlőhöz több ellenőrző is lehet. Minden vezérlőnek van egy kiemelt tulajdonsága ValidationProperty attribútummal jelölt pl:[ValidationProperty("Text")] Ellenőrzők ennek értékét figyelik. A web vezérlőknek van CausesValidation tulajdonsága ha false nincs adatellenőrzés ha true (alapértelmezett a submit-olóknál): minden ellenőrző lefut Szerver és kliens oldalon is lehetséges.

Ha az ellenőrző hibát észlelt, akkor a hiba üzenet megjelenik az ellenőrző pozíciójában, az oldal hibás állapotba kerül, ha van, akkor az összegzőbe felkerül a hiba szövege Ellenőrzés az inicializálás (view state, postback) után, de az eseményeink kezelése előtt fut le. Ellenőrzés hamarabb is kikényszeríthető a Validate metódussal, de ekkor 2x fut le.

SelectedItem.ValueRadioButtonList SelectedItem.ValueDropDownList SelectedItem.ValueListBox TextTextBox ValueHtmlInputFile ValueHtmlSelect ValueHtmlTextArea ValueHtmlInputText Ellenőrzött tulajdonságVezérlő

Formája: RequiredFieldValidator: a felhasználónak ki kell töltenie a vezérlőt CompareValidator: egy konstans,vagy msáik vezérlő viszonya (, …) RangeValidator: konstans értékek közé esike? (szám betű, dátum) RegularExpressionValidator: reguláris kifejezésre illik e? CustomValidator: saját kód ellenőrzi ValidationSummary: megjeleníti az oldalon használt ellenőrzők eredményeit

ControlToValidate: referencia az ellenőrzött vezérlőre. Display: static vagy dynamic hogyan jelenjen meg a hibaszöveg EnableClientScript (true a default) ErrorMessage: hibaszöveg ami a ValidationSummary-ban jelenik meg ha kell. Text: ezen vezérlő helyén jelenik meg ha kell. IsValid SetFocusOnError: ráállítja a fókuszt a megjelölt vezérlőre. Validate(): Ez hívódik automatikusan, de hívható közvetlenül is.

Kliens oldalon is lehet ellenőrizni, de Szerver oldalon kötelező

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Name" ErrorMessage="Name is required" Display="dynamic">*

Data TypeDescription StringA string data type. IntegerA 32-bit signed integer data type. Double A double-precision floating point number data type. DateA date data type. Currency A decimal data type that can contain currency symbols. MinimumValue, MaximumValue, Type

<asp:RangeValidator ID="RangeValidator1" runat="server" Display="dynamic" ControlToValidate="DayOff" Type="Date" ErrorMessage="Day Off is not within the valid interval" MinimumValue=" " MaximumValue=" ">*

Két vezérlő tartalmát, vagy egy fix érték és a vezérlő tartalma hasonlítja össze. ControlToCompare ValueToCompare Type tulajdonság

OperationJelentés Equal= NotEqual!= GreaterThan> GreaterThanEqual>= LessThan< LessThanEqual<= DataTypeCheckOlyan típusú e

<asp:CompareValidator ID="CompareValidator1" runat="server" Display="dynamic" ControlToValidate="Age" ValueToCompare="18" ErrorMessage="You must be at least 18 years old" Type="Integer" Operator="GreaterThanEqual">*

<asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="Password2" ControlToCompare="Password" ErrorMessage="The passwords don't match" Type="String" Display="dynamic">

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate=" " ErrorMessage=" is not in a valid format" Display="dynamic">*

Ha a beépített ellenőrzők már nem elegendőek. Lehet kliens vagy szerver oldali vezérlés. Ellenőrzés hasonló. Metódus 2 paraméterrel: ServerValidate(object source, ServerValidateEventArgs args) Value-ban kapjuk a vizsgált értéket IsValid-ot állítsuk be (true vagy false) Kliens oldal esetén ClientValidationFunction tulajddonság

<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="EmpID" ClientValidationFunction="EmpIDClientValidat e" OnServerValidate="EmpIDServerValidate" ErrorMessage="ID must be a multiple of 5" Display="dynamic">*

function EmpIDClientValidate(ctl, args) { // the value is a multiple of 5 if the modulus by 5 is 0 args.IsValid=(args.Value%5 == 0); }

ServerValidate esemény protected void EmpIDServerValidate(object sender, ServerValidateEventArgs args) { try { args.IsValid = (int.Parse(args.Value) % 5 == 0); } catch { args.IsValid = false; }

Nem végez ellenőrzést. Megjeleníti az összes vezérlő ErrorMessage tulajdonságát. Ha ShowMessageBox igaz, akkor megjelenik a kliens oldalon. Ha nem, akkor az oldalon az adott helyen. DisplayMode tulajdonság a megjelenés módját szabályozza: HeaderText: Bevezető szöveget definiál.

if (this.IsPostBack) { this.Validate(); if (!this.IsValid) { (IValidator aValidator in this.Validators) { if (!aValidator.IsValid) { msg += " " + aValidator.ErrorMessage; }

Zip code must be 5 numeric digits

us/library/a0z2h4sw(v=vs.100).aspx

Alapértelmezetten bekapcsolt. EnableClientScript tulajdonság Ha engedélyezve van, akkor generálódik a megfelelő kód, nem kell tenni semmit. aspnet_client mappában vannak a szkriptek. Submit előtt futnak le, tehát kell submit-oló vezérlő.

Page_IsValid figyelése, ami itt globális változó. Page_Validators ellenőrzők listája. Page_ValidationActive igaz, ha engedélyezett a kliens oldali ellenőrzés.

ValidationGroup tulajdonság (string) A post-oló, a vizgált bemeneti és az ellenörző vezérlőt tegyük egy csoportba! Ha egy vezérlő post-ol, akkor csak az abban a csoportban levő ellenőrzők futnak le. Érdemes több ellenőrző csoportot létrehozni a form- on, rakjuk panelekre. Kliens, és szerver oldalon is működik.

Hozzuk létre a következő egy szerű alkalmazást!

Az ellenőrzők a mellettük lévő beviteli mezőt ellenőrizzék! Az alsó label-be írjuk be az oldal betöltésének idejét! (Label1.Text = DateTime.Now.ToString();) Ne felejtsük el kitölteni az ErrorMessage-et! Első esetben ne állítsunk be ellenőrző csoportokat (üresen hagyni)! A gombok eseménykezelőjében a label1-be írjuk be, hogy melyik gomb eseménye futott le, ha érvényes az oldal (Page.IsValid)

Példa 1 Töltsük ki az első mezőt! Nyomjuk meg az első gombot! Példa 2 Töltsük ki az első mezőt! Nyomjuk meg a második gombot!

Kapcsoljuk ki a kliens oldali ellenőrzés! futtassuk le a teszteket Állítsunk be ellenőrző osztályokat! (Azonos soroknak azonos legyen.) futtassuk le a teszteket Kapcsoljuk be a kliens oldali ellenőrzés! futtassuk le a teszteket Közben vizsgáljuk meg a HTML válaszokat a böngészőben!

1. Page and its controls are created, based on ASPX file. 2. Page_Load event fires. 3. Page and control properties are saved to a hidden field. 4. Page and controls are turned into HTML. 5. Everything is thrown away.

1. Page and its controls are created based on ASPX file. 2. Page and control properties are recovered from hidden field. 3. Page controls are updated based on user input. 4. Page_Load event fires. 5. Change notification events fire. 6. Page and control properties are saved to a hidden field. 7. Page and controls are turned into HTML. 8. Everything is thrown away again.