Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos

Hasonló előadás


Az előadások a következő témára: "1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos"— Előadás másolata:

1 1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv

2 2 A mai előadás tartalma: ASP.NET Web űrlapok Vezérlés, megjelenítés elkülönítése Követés, hibakeresés Felhasználói bevitel ellenőrzése

3 3 Források Microsoft 2310B official curriculum http://www.gotdotnet.com/

4 4 Web űrlapok Web űrlapő létrehozása Szerver vezérlők használata

5 5 ASP.NET A megszokott grafikus eszköztárat használhatjuk Eseménykezelés Komplex objektumok (fa nézet, …) Bevitel ellenőrzés Hasonló megoldás: Java Server Faces JSF http://java.sun.com/j2ee/javaserverfaces/index.j sp http://java.sun.com/j2ee/javaserverfaces/index.j sp

6 6 ASP.NET működése

7 7 Web űrlap (Web form).aspx kiterjesztés Lap attribútumok @ Page firektíva Body tulajdonságok Form tulajdonságok

8 8 Szerver vezérlő Runat="server" Az események a szerveren történnek Láthatjuk az elmentett állapotot Beépített tulajdonságokkal rendelkezik Általánons objektum modell Mindengyik rendelkezik Id és Text tulajdonságokkal Böngésző függő HTML-t gyárt <asp:Button id="Button1" runat="server" Text="Submit"/> <asp:Button id="Button1" runat="server" Text="Submit"/>

9 9 Szever vezérlő típusai HTML szerver vezérlők Web szerver vezérlők Belső vezérlők Érvényesítő vezérlők Sokoldalú vezérlők (rich) Listához kötött vezérlők Internet Explorer Web vezérlők

10 10 Állapot mentés Rejtett állapot vezérlő, név-érték párokat tárol Be van kapcsoklva, de beállítható Web szerver farm

11 11 HTML szerver vezérlők HTML elemeken alapulnak A System.Web.UI.HtmlControls névtérben vannak

12 12 Web Szerver vezérlők A System.Web.UI.WebControls névtrében vannak Szintaxisuk: A generált HTML: <asp:TextBox id="TextBox1" runat="server">Text_to_Display <asp:TextBox id="TextBox1" runat="server">Text_to_Display <input name="TextBox1" type="text" value="Text_to_Display" Id="TextBox1"/> <input name="TextBox1" type="text" value="Text_to_Display" Id="TextBox1"/>

13 13 Specifikus funkció (naptár) Kliensen szertnénk a vezérlés elvégezni Több böngészőt is támogatMeglévő HTML oldalak C# programn modell HTML-szerű objektum modell Web Szerver: HTML: Nincs sávszélesség korlát A sávszélesség korlátozott Mikor melyiket válasszuk?

14 14 Web form létrehozása Nyomógomb Beviteli mező 1. Demó

15 15 Vezérlés, megjelenítés elkülönítés Kód oldalak a web oldalak mögött Esemény kezelés Oldal események

16 16 Programkód helye Három hely: A HTML tartalommal keverve (vegyes) A HTML oldalban egy kijelölt helyen (beágyazott kód) Külön fájlban (VS alapértelmezett)

17 17 Beágyazott kód Tartalom, kód egy fájlban Más-más szekciókat használhatunk Sub btn_Click(s As Object, e As EventArgs) Handles btn.Click... End Sub Sub btn_Click(s As Object, e As EventArgs) Handles btn.Click... End Sub private void btn_Click(object sender, System.EventArgs e) {... } private void btn_Click(object sender, System.EventArgs e) {... }

18 18 Külön kód oldalak Tartalom, kód elkülönítés A UI fejlesztők és a logika fejlesztők külön dolgozhatnak Form1.aspxForm1.aspx Form1.aspx.vb Form1.aspx.vb or Form1.aspx.cs Kód Kód Külön fájlokEgy fájl

19 19 Hogyan működik Külön fájlok a UI-nek és a logikának A @ Page elemben lehet jelezni Előre fordított vagy JIT-telt Page1.aspx Page1.aspx.cs public class WebForm1 { private void cmd1_Click() { … }

20 20 Esemény kezelés Reakciók a felhasználói műveletekre

21 21 Kliens oldali eseménykezelés Internet.HTM Pages Tipikusan HTML vezérlőkkel használt A böngésző futtatja Nincs hozzáférése a szerver erőforrásaihoz

22 22 Szerver oldali eseménykezelés Web és HTML vezérlőkkel egyaránt használatos A kód a szerveren fut Hozzáfér a szerver erőforrásaihoz vagy Internet.ASPX Pages

23 23 Eseménykezelők használata Visual Studio.NET deklarálja a változókat és létrehozza az eseménykezelőt protected System.Web.UI.WebControls.Button cmd1; private void InitializeComponent() { this.cmd1.Click += new System.EventHandler(this.cmd1_Click); this.Load += new System.EventHandler(this.Page_Load); } private void cmd1_Click(object s, System.EventArgs e) protected System.Web.UI.WebControls.Button cmd1; private void InitializeComponent() { this.cmd1.Click += new System.EventHandler(this.cmd1_Click); this.Load += new System.EventHandler(this.Page_Load); } private void cmd1_Click(object s, System.EventArgs e)

24 24 2. Demó Támogatás a Visual Studio-ban Esemény kezelők létrehozása Generált kód

25 25 Vezérlők használaat Tulajdonság olvasás Tulajdonság írás lblGreeting.Text = "new text" strGreeting = "Hello " & txtName.Text strGreeting = "Hello " + txtName.Text; lblGreeting.Text = "new text";

26 26 Egy oldal életciklusa Page_Load Page_Unload Textbox1_Changed Button1_Click Az oldal megszűnik Page_Init Vezérlő események Change Events Action Events

27 27 A Page.IsPostback események Page_Load minden kérésre meghívódik A Page.IsPostBack tulajdonságot lehet figyelni private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request } private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { // executes only on initial page load } //this code executes on every request }

28 28 Vezérlők összekapcsolása A vezérlők egymás értékeit használhatják Data binding <asp:DropDownList id="lstOccupation" autoPostBack="True" runat="server" > You selected: <asp:Label id="lblSelectedValue" Text=" " runat="server" /> <asp:DropDownList id="lstOccupation" autoPostBack="True" runat="server" > You selected: <asp:Label id="lblSelectedValue" Text=" " runat="server" /> private void Page_Load(object sender, System.EventArgs e) { lblSelectedValue.DataBind(); } private void Page_Load(object sender, System.EventArgs e) { lblSelectedValue.DataBind(); }

29 29 3. Demó Felirat csatolás lista vezérlőhöz

30 30 Követés (Tracing) Futásidejű információ A követés engedélyezée A Trace objektum Az eredmények vizsgálata Alkalmazás szintű követés

31 31 Futásidejű információ Futás idő alatt: A változók értékeit kiírathatjuk Figyelhetjük adott feltételek teljesülését Követhetjük az alkalmazás végrehajtási útvonalát Ezeket az információkat: a Trace objektum és a Debug objektum biztosítja

32 32 Követés engedélyezése Oldal szintű követés csak az oldalon definiált követéssel foglalkozik Oldalszintű követés engedélyezése Alkalmazás szintű minden oldalra vonatkozik Engedélyezése a Web.config fájlban lehetséges <trace enabled="true" pageOutput="true" localOnly="true"/> <trace enabled="true" pageOutput="true" localOnly="true"/>

33 33 Üzenetek beszúrása Feltételes végrehajtás Trace.IsEnabled Dinamikus állapotváltás A Trace objektum használata Trace.Write ("category", "message") Trace.Warn ("category", "message") Trace.Write ("category", "message") Trace.Warn ("category", "message") Trace.IsEnabled = False if (Trace.IsEnabled) { strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg); } if (Trace.IsEnabled) { strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg); }

34 34 Eredmények megtekintése

35 35 Alkalmazás szintű követés Alap értelmezésben az eredmények minden egyes oldalon láthatóak A pageOutput=false beállításával Web.config az eredmények itt láthatóak http://server/project/trace.axd OldalOldal Trace=True Trace=False Trace not set AlkalmazásAlkalmazás Trace=True or Trace=False Trace=True EredményEredmény  Az oldalon látható  Az eredmény nem látható  Az oldalon látható

36 36 4. Demó Oldalszintű Alkalmazás szintű

37 37 Követés a komponensen belül A System.Web könyvtár importálása Engedélyezés Trace metódus meghívása HttpContext.Current.Trace.IsEnabled = True using System.Web; HttpContext.Current.Trace.Write ("component","this is my trace statement"); HttpContext.Current.Trace.Write ("component","this is my trace statement");

38 38 Felhasználói bevitel ellenőrzése Áttekintés Ellenőrző vezérlők Oldal ellenőrzés

39 39 Bevitel ellenőrzés Ellenőrzi a vezérlő értékét Az oldal feldolgozását letiltja amíg nincs minden rendben Megelőzi kártékony kódok bevitelét

40 40 Kliens és szerver oldali ellenőrzés ASP.NET mindkét oldalt legenerálja Kliens oldali Böngésző függő Azonnali válasz Csökkenti a webszerver terhelését Szerver oldali ellenőrzés Megismétli a klines oldali ellenőrzést Tárolt adatokat is használhatunk Érv.? Felh. bevitel Nem Igen Hiba üzenet Kliens Szerver Feldolgozás

41 41 ASP.NET ellenőrző vezérlők ASP.NET az alábbi funkciókat támogatja: Érték összehasonlítás Saját minta alapján összehasonlítás Tartomány ellenőrzés Reguláris kifejezés Felhasználói bevitel megkövetelése Az adott oldal ellenőrzéseinek összegzése

42 42 Ellenőrző vezérlők hozzáadása 1.Vezérlő hozzáadása 2.A beviteli vezérlő kiválasztása 3.Az érvényesítési tulajdonságok beállítása <asp:Type_of_Validator id="Validator_id" runat="server" ControlToValidate="txtName" ErrorMessage="Message_for_error_summary" Display="static|dynamic|none" Text="Text_to_display_by_input_control"> <asp:Type_of_Validator id="Validator_id" runat="server" ControlToValidate="txtName" ErrorMessage="Message_for_error_summary" Display="static|dynamic|none" Text="Text_to_display_by_input_control"> 11 22 33

43 43 Ellenőrző vezérlők kombinálása Több ellenőrző is tartozhat egy beviteli vezérlőhöz Csak a RequiredFieldValidator ellenőrzi az üres vezérlőket

44 44 Bevitel ellenőrző vezérlők RequiredFieldValidator InitialValue CompareValidator ValueToCompare vagy ControlToCompare Type Operator RangeValidator MinimumValue MaximumValue Type

45 45 Reguláris kifejezések Used when input must conform to a pre-defined pattern Visual Studio.NET includes patterns for: Telephone numbers Postal codes E-mail addresses <asp:RegularExpressionValidator … ControlToValidate="US_PhoneNumber"… ValidationExpression=" ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4} " …>* <asp:RegularExpressionValidator … ControlToValidate="US_PhoneNumber"… ValidationExpression=" ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4} " …>*

46 46 5. Demó Ellenőrző vezérlők használata RequiredFieldValidator RangeValidator RegularExpressionValidator

47 47 CustomValidator vezérlő Kliens, szerver vagy mindkét oldalon használható ClientValidationFunction OnServerValidate Érvényesít: Formula Adat COM objektum Web Szolgáltatás segítségével

48 48 Oldal ellenőrzés A Page.IsValid tulajdonság ValidationSummary vezérlő

49 49 A Page.IsValid tulajdonság Minden vezérlőt lekérdez private void cmdSubmit_Click(object s, System.EventArgs e) {if (Page.IsValid) {Message.Text = "Page is Valid!"; // Perform database updates or other logic here } private void cmdSubmit_Click(object s, System.EventArgs e) {if (Page.IsValid) {Message.Text = "Page is Valid!"; // Perform database updates or other logic here }

50 50 A ValidationSummary vezérlő Összegyűjti az összes hibamezőt az oldalon Üzenetek megjelenítésére is alkalmas A Text="*" mintát használjuk a hiba megjelölésére <asp:ValidationSummary id="valSummary" runat="server" HeaderText="These errors were found:" ShowSummary="True" DisplayMode="List"/> <asp:ValidationSummary id="valSummary" runat="server" HeaderText="These errors were found:" ShowSummary="True" DisplayMode="List"/>

51 51 Áttekintés: ASP.NET Web űrlapok Vezérlés, megjelenítés elkülönítése Követés, hibakeresés Felhasználói bevitel ellenőrzése

52 52 A következő előadás tartalma ASP.NET második rész Állapotkövetés Saját komponensek fejlesztése Biztonság Optimalizálás ASP.NET 2.0


Letölteni ppt "1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos"

Hasonló előadás


Google Hirdetések