Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Beépített vezérlők és validáció
Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont
2
Page események sorrendje
Init LoadControlState, LoadViewState, LoadPostData Load Ahányszor csak meghívják az ASPX lapot Change típusú események AutoPostBack nélkül (RaisePostDataChangeEvent) Click esemény és az AutoPostback-es Change események (RaisePostbackEvent) Vagyis az az esemény, amitől az űrlap elindult PreRender, SaveControlState, SaveViewState Render, Dispose, Unload
3
Szerver vezérlők típusai
HTML Szerver vezérlők Web Szerver vezérlők Standard vezérlők Adat vezérlők Validációs vezérlők Navigációs vezérlők Login vezérlők WebPart vezérlők
4
HTML vezérlők Alapértelmezés szerint szerver oldali kódból NEM elérhetők. Ha elérhetővé akarjuk tenni: Design nézetben Run As Server Control. HTML kód nézetben a runat="server" attribútum beszúrása.
5
HTML Szerver vezérlők HTML elemeken alapul
A System.Web.UI.HtmlControls névtérben találhatók Példa: <input type="text" id="txtName" runat="server" />
6
Web Szerver vezérlők A System.Web.UI.WebControls névtérben találhatók
Példa: <asp:TextBox id="TextBox1" runat="server">Text_to_Display </asp:TextBox> A generált html: <input name="TextBox1" type="text" value="Text_to_Display" Id="TextBox1"/>
7
Miből mi lesz <asp:textbox> <input type=text>
<asp:button> <input type=button> <asp:imagebutton> <input type=image> <asp:checkbox> <input type=checkbox> <asp:radiobutton> <input type=radiobutton> <asp:listbox> <select size=„5”> </select> <asp:dropdownlist> <select> </select> <asp:hyperlink> <a href=„..”> </a> <asp:image> <img src=„…”> <asp:label> <span>…</span> <asp:panel> <div>…</div> <asp:table> <table>…</table>
8
Web Szerver vezérlő demó
Demo/Default.aspx
9
Label Szöveget jelenít meg.
Akkor jó, ha a szerver oldali kód módosítja a Text vagy más tulajdonságát. Különben… HTML formázás is megadható a Text tulajdonságban.
10
Image Képet jelenít meg. A kép nincs a web oldalba beágyazva.
Főbb tulajdonságai: ImageUrl AlternateText ImageAlign
11
Hyperlink Navigálásra használható kattintható szöveg vagy kép megjelenítésével. Főbb tulajdonságai: Text ImageUrl NavigateUrl
12
TextBox Főbb tulajdonságai: Text
TextMode: SingleLine (default), MultiLine, Password Columns Rows MaxLength Wrap AutoPostBack
13
Button Submit (default) button vagy Command button Főbb tulajdonságai:
PostBackUrl CausesValidation OnClientClick
14
CheckBox Főbb tulajdonságai: Checked Text TextAlign AutoPostBack
CausesValidation CheckedChanged event
15
RadioButton Főbb tulajdonságai: Checked GroupName Text TextAlign
16
Literal Statikus szöveget jelenít meg. Főbb tulajdonságai:
Sima szöveg lesz és nem span tag. Főbb tulajdonságai: Text Mode: PassThrough, Encode (HTML tag-ek láthatók), Transform.
17
ImageButton Kattintható kép, amivel PostBack-et válthatunk ki.
Image kontrol az őse. Van Click és Command eseménye.
18
Panel Kontrolok csoportosítására szolgál. <div> tag-et generál.
Főbb tulajdonságai: DefaultButton GroupingText
19
Listák ListBox DropDownList CheckBoxList RadioButtonList BulletedList
20
AdRotator XML fájlban kell megadni a hirdetéseket:
<?xml version="1.0" encoding="utf-8" ?> <Advertisements …> <Ad xmlns=""> <Keyword>…</Keyword> <ImageUrl>…</ImageUrl> <NavigateUrl>…</NavigateUrl> <AlternateText>…</AlternateText> <Impressions>100</Impressions> </Ad> <Ad xmlns=""> … </Ad> </Advertisements>
21
TreeView TreeNode objektumokból áll: Text Value NavigateUrl
Feltöltésének módjai: Statikus adattal DataSourceID: XmlDataSource vagy SiteMapDataSource DataSource: XmlDocument vagy DataSet
22
Menu MenuItem objektumokból áll: Text Value NavigateUrl
Feltöltésének módjai: Statikus adattal DataSourceID: XmlDataSource vagy SiteMapDataSource DataSource: XmlDocument vagy DataSet
23
Web Szerver vezérlő dinamikus létrehozása
Példa: protected void Page_Init(object sender, System.EventArgs e){ TextBox c = new TextBox(); c.ID = "txtUserName"; c.Visible = true; form1.Controls.Add(c)); } Nem lehet ID alapján hivatkozni rá! Control c = FindControl("txtUserName");
24
Mi az a validálás? SOHA NE BÍZZ A FELHASZNÁLÓI INPUTBAN!
Biztosítja, hogy a felhasználó által beütött adat helyes Blokkolja a továbblépést, amíg minden kontrol tartalma helyes lesz Ellenállóbbá tehető a webalkalmazás bizonyos rosszindulatú fenyegetésekkel szemben SQL injection Cross Site Scripting
25
SQL Injection demó Demo/SQLInjection.aspx
26
Felhasználó beüti az adatot
Kétoldali validálás Kliens és szerver oldalon is lehet validálni Kombináljuk a kettőt Szerver oldalon ismételjük meg a kliens oldali validálást Felhasználó beüti az adatot Hibaüzenet Helyes? Nem Kliens Igen Szerver Helyes? Nem Igen Végrehajtás
27
Validálás Különbségek kliens és szerver oldalon
Kliens oldali Gyors, de browserfüggő JavaScriptet kell írni El kell rejteni, titkosítani a validációs kódot, különben veszélyes Ha kódot kell írni, tárolni kell valahogy a szükséges infót az oldalon vagy menet közben lekérdezni külső forrásból Szerver oldali Roundtrip - lassabb A kontrolok állapotát utaztatni kell a szerver és kliens között A validációs kód nem látható A kód a szerveren fut, egyszerűbb elérni a validáláshoz szükséges infót
28
Validátor vezérlők RequiredFieldValidator CompareValidator
RangeValidator RegularExpressionValidator CustomValidator
29
Validátor vezérlő használata
Validátor vezérlő hozzáadása a Web Formhoz Validálni kívánt kontrol kiválasztása <asp:ControlType id="IDcontrol" runat="server" /> Validátors tulajdonságok beállítása <asp:ValidatorType id="IDvalidator" runat="server" ControlToValidate="IDcontrol" ErrorMessage=„Hibaüzenet a hibalistára" Display="Static, Dynamic vagy None" Text=„Az input kontrol mellett megjelenő szöveg"> </asp:ValidatorType>
30
Validátor vezérlők kombinálása
Egy input vezérlőhöz több validátor vezérlőt is rendelhetünk: RequiredFieldValidator RegularExpressionValidator … Csak azérlő RequiredFieldValidator vizsgálja az üres vezérlőt
31
Alap validátor vezérlők beállítása
RequiredFieldValidator InitialValue RangeValidator MinimumValue MaximumValue Type CompareValidator ValueToCompare vagy ControlToCompare Operator
32
RegularExpressionValidator
<asp:RegularExpressionValidator id=" RegexValidator" runat="server" ControlToValidate=" TextBox" ErrorMessage= "Ilyen formában kell megadni: Text="*"> </asp:RegularExpressionValidator> Visual Studio 2008 beépített pattern-ek: Telefonszámok cím
33
Validátor vezérlők demó
Demo/Validalas.aspx
34
CustomValidator I. Validálhatunk vele kliens és szerver oldalon is, akár egyszerre mindkettőn ClientValidationFunction OnServerValidate <asp: CustomValidator... ClientValidationFunction = "MyClientFunction" OnServerValidate = "MyServerFunction" />
35
CustomValidator II. Kliens oldali validálás Szerver oldali validálás
<script language = "Jscript"> function MyClientFunction(source, arguments) { var value = arguments.Value; if (feltétel) arguments.IsValid = true; else arguments.IsValid = false; } </script> Szerver oldali validálás private void MyServerFunction(object sender, ServerValidateEventArgs e) { int value = Convert.ToInt16(e.Value); if (feltétel) e.IsValid = true; else e.IsValid = false;
36
Teljes weboldal validálása
Page.IsValid használata protected void submitButton_Click(object sender, EventArgs e) { if (Page.IsValid) { /* Minden rendben, lehet az adatbázist frissíteni vagy egyéb módon feldolgozni a helyes input adatokat */ ... }
37
ValidationSummary vezérlő
Az oldalon található összes Validátor vezérlő ErrorMessage tulajdonságának tartalmát összegyűjti. <asp:ValidationSummary id="mySummary" runat="server" HeaderText=„Ezek a hibák vannak az oldalon:" ShowSummary="True" DisplayMode="List"/>
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.