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

Beépített vezérlők és validáció

Hasonló előadás


Az előadások a következő témára: "Beépített vezérlők és validáció"— Előadás másolata:

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"/>

38


Letölteni ppt "Beépített vezérlők és validáció"

Hasonló előadás


Google Hirdetések