Download - NET web szolgáltatások
![Page 2: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/2.jpg)
2
A mai előadás tartalma: ASP.NET
Web űrlapokVezérlés, megjelenítés elkülönítéseKövetés, hibakeresésFelhasználói bevitel ellenőrzése
![Page 3: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/3.jpg)
3
Források Microsoft 2310B official curriculum http://www.gotdotnet.com/
![Page 4: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/4.jpg)
4
Web űrlapok Web űrlapő létrehozása Szerver vezérlők használata
![Page 5: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/5.jpg)
5
ASP.NET A megszokott grafikus eszköztárat
használhatjukEseménykezelésKomplex objektumok (fa nézet, …)Bevitel ellenőrzés
Hasonló megoldás:Java Server Faces JSF
http://java.sun.com/j2ee/javaserverfaces/index.jsp
![Page 6: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/6.jpg)
6
ASP.NET működése
![Page 7: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/7.jpg)
7
Web űrlap (Web form)
<%@ Page Language=„cs" Codebehind="WebForm1.aspx.cs" SmartNavigation="true"%>
<html><body ms_positioning="GridLayout"> <form id="Form1" method="post" runat="server"> </form></body>
</html>
<%@ Page Language=„cs" Codebehind="WebForm1.aspx.cs" SmartNavigation="true"%>
<html><body ms_positioning="GridLayout"> <form id="Form1" method="post" runat="server"> </form></body>
</html>
.aspx kiterjesztés Lap attribútumok
@ Page firektíva Body tulajdonságok Form tulajdonságok
![Page 8: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/8.jpg)
8
Szerver vezérlő
Runat="server"Az események a szerveren történnekLá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"/>
![Page 9: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/9.jpg)
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őkSokoldalú vezérlők (rich)Listához kötött vezérlőkInternet Explorer Web vezérlők
![Page 10: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/10.jpg)
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
<%@ Page EnableViewState="False" %>
<asp:ListBox id="ListName" EnableViewState="true" runat="server">
</asp:ListBox>
<%@ Page EnableViewState="False" %>
<asp:ListBox id="ListName" EnableViewState="true" runat="server">
</asp:ListBox>
<input type="hidden" name="__VIEWSTATE" value="dDwtMTA4MzE0MjEwNTs7Pg==" />
<input type="hidden" name="__VIEWSTATE" value="dDwtMTA4MzE0MjEwNTs7Pg==" />
![Page 11: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/11.jpg)
11
HTML szerver vezérlők
HTML elemeken alapulnak A System.Web.UI.HtmlControls
névtérben vannak
<input type="text" id="txtName" runat="server" />
<input type="text" id="txtName" runat="server" />
![Page 12: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/12.jpg)
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>
<asp:TextBox id="TextBox1"runat="server">Text_to_Display</asp:TextBox>
<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>
<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>
![Page 13: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/13.jpg)
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 modellHTML-szerű objektum modell
Web SzerverWeb Szerver::HTMLHTML::
Nincs sávszélesség korlátA sávszélesség korlátozott
Mikor melyiket válasszuk?
![Page 14: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/14.jpg)
14
Web form létrehozása Nyomógomb Beviteli mező
1. Demó
![Page 15: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/15.jpg)
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
![Page 16: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/16.jpg)
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)
![Page 17: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/17.jpg)
17
Beágyazott kód Tartalom, kód egy fájlban Más-más szekciókat használhatunk
<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="vb" runat="server"> Sub btn_Click(s As Object, e As EventArgs) Handles btn.Click ... End Sub</SCRIPT>
<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="vb" runat="server"> Sub btn_Click(s As Object, e As EventArgs) Handles btn.Click ... End Sub</SCRIPT>
<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="c#" runat="server"> private void btn_Click(object sender, System.EventArgs e) { . . . }</SCRIPT>
<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="c#" runat="server"> private void btn_Click(object sender, System.EventArgs e) { . . . }</SCRIPT>
![Page 18: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/18.jpg)
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.aspxForm1.aspx Form1.aspx.vbForm1.aspx.vbor Form1.aspx.csor Form1.aspx.cs
<tags><tags> KódKód
KódKód
Külön fájlokEgy fájl
![Page 19: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/19.jpg)
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
<% @ Page Language="c#"Inherits="Project.WebForm1" Codebehind="Page1.aspx.cs" Src = "Page1.aspx.cs" %>
Page1.aspx.cs public class WebForm1 { private void cmd1_Click() { … } }
![Page 20: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/20.jpg)
20
Esemény kezelés Reakciók a felhasználói műveletekre
![Page 21: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/21.jpg)
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 <SCRIPT language="language">
![Page 22: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/22.jpg)
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 <SCRIPT language="vb" runat="server"> vagy
<SCRIPT language=“cs" runat="server">
Internet.ASPX Pages
![Page 23: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/23.jpg)
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)
![Page 24: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/24.jpg)
24
2. Demó Támogatás a Visual Studio-ban
Esemény kezelők létrehozása Generált kód
![Page 25: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/25.jpg)
25
Vezérlők használaat Tulajdonság olvasás
Tulajdonság írás
lblGreeting.Text = "new text"lblGreeting.Text = "new text"
strGreeting = "Hello " & txtName.TextstrGreeting = "Hello " & txtName.Text
strGreeting = "Hello " + txtName.Text;strGreeting = "Hello " + txtName.Text;
lblGreeting.Text = "new text";lblGreeting.Text = "new text";
![Page 26: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/26.jpg)
26
Egy oldal életciklusa
Page_LoadPage_Load
Page_UnloadPage_Unload
Textbox1_ChangedTextbox1_Changed
Button1_ClickButton1_Click
Az oldal megszűnik
Page_InitPage_Init
Vezérlő eseményekVezérlő események
Change EventsChange Events
Action EventsAction Events
![Page 27: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/27.jpg)
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}
![Page 28: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/28.jpg)
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="<%# lstOccupation.SelectedItem.Text %>" runat="server" />
<asp:DropDownList id="lstOccupation" autoPostBack="True" runat="server" >You selected: <asp:Label id="lblSelectedValue" Text="<%# lstOccupation.SelectedItem.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();}
![Page 29: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/29.jpg)
29
3. Demó Felirat csatolás lista vezérlőhöz
![Page 30: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/30.jpg)
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
![Page 31: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/31.jpg)
31
Futásidejű információ Futás idő alatt:
A változók értékeit kiírathatjukFigyelhetjük adott feltételek teljesülésétKövethetjük az alkalmazás végrehajtási
útvonalát Ezeket az információkat:
a Trace objektumés a Debug objektum
biztosítja
![Page 32: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/32.jpg)
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"/>
<%@ Page Language="c#" Trace="true" %> <%@ Page Language="c#" Trace="true" %>
![Page 33: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/33.jpg)
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 = FalseTrace.IsEnabled = False
if (Trace.IsEnabled){ strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg);}
if (Trace.IsEnabled){ strMsg = "Tracing is enabled!"; Trace.Write("myTrace", strMsg);}
![Page 34: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/34.jpg)
34
Eredmények megtekintése
![Page 35: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/35.jpg)
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óakhttp://server/project/trace.axdhttp://server/project/trace.axd
OldalOldalOldalOldal
Trace=TrueTrace=True
Trace=FalseTrace=False
Trace not setTrace not set
AlkalmazásAlkalmazásAlkalmazásAlkalmazás
Trace=True or Trace=FalseTrace=True or Trace=False
Trace=True or Trace=FalseTrace=True or Trace=False
Trace=TrueTrace=True
EredményEredményEredményEredmény
Az oldalon látható Az oldalon látható
Az eredmény nem látható Az eredmény nem látható
Az oldalon látható Az oldalon látható
![Page 36: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/36.jpg)
36
4. Demó
Oldalszintű Alkalmazás szintű
![Page 37: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/37.jpg)
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 = TrueHttpContext.Current.Trace.IsEnabled = True
using System.Web;using System.Web;
HttpContext.Current.Trace.Write("component","this is my trace statement");
HttpContext.Current.Trace.Write("component","this is my trace statement");
![Page 38: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/38.jpg)
38
Felhasználói bevitel ellenőrzése Áttekintés Ellenőrző vezérlők Oldal ellenőrzés
![Page 39: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/39.jpg)
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
![Page 40: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/40.jpg)
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.?
Érv.?
Felh. bevitel
Nem
Nem
Igen
Igen
Hiba üzenet
Kliens
Szerver
Feldolgozás
![Page 41: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/41.jpg)
41
ASP.NET ellenőrző vezérlőkASP.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
![Page 42: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/42.jpg)
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>
<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>
<asp:TextBox id="txtName" runat="server" /><asp:TextBox id="txtName" runat="server" />
1111
2222
3333
![Page 43: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/43.jpg)
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
![Page 44: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/44.jpg)
44
Bevitel ellenőrző vezérlők
RequiredFieldValidatorInitialValue
CompareValidatorValueToCompare vagy
ControlToCompareTypeOperator
RangeValidatorMinimumValueMaximumValueType
![Page 45: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/45.jpg)
45
Reguláris kifejezések Used when input must conform to a
pre-defined pattern Visual Studio .NET includes patterns
for:Telephone numbersPostal codesE-mail addresses
<asp:RegularExpressionValidator …ControlToValidate="US_PhoneNumber"…ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4} "…>*</asp:RegularExpressionValidator >
<asp:RegularExpressionValidator …ControlToValidate="US_PhoneNumber"…ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4} "…>*</asp:RegularExpressionValidator >
![Page 46: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/46.jpg)
46
5. Demó Ellenőrző vezérlők használata RequiredFieldValidator RangeValidator RegularExpressionValidator
![Page 47: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/47.jpg)
47
CustomValidator vezérlő Kliens, szerver vagy mindkét oldalon
használhatóClientValidationFunctionOnServerValidate
Érvényesít: FormulaAdatCOM objektumWeb Szolgáltatás
segítségével
![Page 48: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/48.jpg)
48
Oldal ellenőrzés
A Page.IsValid tulajdonság ValidationSummary vezérlő
![Page 49: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/49.jpg)
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}
}
![Page 50: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/50.jpg)
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"/>
![Page 51: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/51.jpg)
51
Áttekintés: ASP.NET
Web űrlapokVezérlés, megjelenítés elkülönítéseKövetés, hibakeresésFelhasználói bevitel ellenőrzése
![Page 52: NET web szolgáltatások](https://reader031.vdocuments.pub/reader031/viewer/2022012922/56813594550346895d9d0653/html5/thumbnails/52.jpg)
52
A következő előadás tartalma ASP.NET második rész
ÁllapotkövetésSaját komponensek fejlesztéseBiztonságOptimalizálásASP.NET 2.0