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

Slides:



Advertisements
Hasonló előadás
HTML enhanced for web apps! Fodor Krisztián
Advertisements

Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
JQuery 8. előadás.
Grafikus tervezőrendszerek programozása 10. előadás.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
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.
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.
Stílus, mesteroldal, témák
1.NET web szolgáltatások ASP.NET első rész Bilicki Vilmos
Programozás II. 3. Gyakorlat C++ alapok.
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.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Haladó Programozás Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
SQL Server 2005 Integration Services Kószó Károly rendszermérnök Microsoft Magyarország.
Instant alkalmazások SharePoint platformon. A fejlesztés és a testre szabás határai elmosódtak. A testre szabást végző legtöbbször nem programozó A.
Microsoft szoftverek a szakképzésben
Kliensoldali Programozás
Szombathely Dinamikus WEB programozás: PHP és JSP.
Önleíró adatok: XML INFO ÉRA, Békéscsaba
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 Készítette: Simon Nándor.
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.
VFP Form programozás Form szerkesztő elemei vezérlő elemek
Krizsán Zoltán ver 1.1. http állapot mentes Ugyanaz a kliens több kérésén keresztül információkat tartunk valahol. Az oldalakat minden kérés alkalmával.
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:
PHP VII Sütik, munkamenetek. Sütik Mi az a süti? A süti (cookie) állapotot tárol a felhasználó böngészőjében. Pl. ha egy oldalon beállítható, hogy milyen.
Adatkezelés Ez az előadó neve beosztása vállalata.
Adatkezelés ABC: A Create Table-től a megjelenítésig Árvai Zoltán Consultant, Trainer Számalk Oktatóközpont.
Optimalizálás Ez az előadó neve beosztása vállalata.
Bátyai Krisztián NetAcademia Oktatóközpont oktató, fejlesztő MCT, MCPD
Felhasználók azonosítása és jogosultságai, személyre szabás Borsi Katalin és Fóti Marcell NetAcademia Oktatóközpont.
Mesterlapok és menük használata
Weblapok elrendezésének, dizájnjának kialakítása Borsi Katalin webfejlesztő, oktató NetAcademia Oktatóközpont.
Vezérlők használata és írása Ez az előadó neve beosztása vállalata.
Az ASP.NET programozási modell Ez az előadó neve beosztása vállalata.
Formanyomtatványok létrehozása Dreamweaverrel E-business 6. előadás.
Gincsai Gábor MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék.
Objektum orientált programozás a gyakorlatban
Script nyelvek alkalmazása a webkartográfiában 1/14 Script nyelvek alkalmazása a webkartográfiában Gede Mátyás MFTTT, március 22.
Delphi Készítette: Rummel Szabolcs Elérhetőség:
APEX BMF, II. félév.
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
1 Verseny 2000 gyakorlat ODBC Adatforrás létrehozása.
HTML 2. Űrlapok
Webprogramozó tanfolyam
Az NVU webszerkesztő program
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
A Visual Basic nyelvi elemei
Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Illés Zoltán ELTE Informatikai Kar
A Visual Basic és a programozás oktatása
OpenCMS programozói bevezetés Krizsán Zoltán iit me.
Vizuális programozás Szoftvertechnológia I.
Gépjármű kölcsönzési szoftver Windows /.NET / MS SQL Készítette: Vajda Zsombor
User Profiles Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
Szebb és használhatóbb programok Vezérlőelemek dinamikus felhelyezése.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Csirmaz Péter MCP, MCTS, MCPD Turóczy Attila diái alapján: Első nap.
Alkalmazásfejlesztés gyakorlat
Gépészeti informatika (BMEGEMIBXGI)
Static Source Code Analysis For PHP Vulnerabilities
Programozás III. Felhasználóifelület-elemek fontosabb tulajdonságai, eseményei, metódusai Preview események.
ListBox CheckedListBox TextBox
Adatkötés Sablonokkal
Folyamatok.
Előadás másolata:

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

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

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

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.

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

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

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>

Web Szerver vezérlő demó Demo/Default.aspx

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.

Image Képet jelenít meg. A kép nincs a web oldalba beágyazva. Főbb tulajdonságai: ImageUrl AlternateText ImageAlign

Hyperlink Navigálásra használható kattintható szöveg vagy kép megjelenítésével. Főbb tulajdonságai: Text ImageUrl NavigateUrl

TextBox Főbb tulajdonságai: Text TextMode: SingleLine (default), MultiLine, Password Columns Rows MaxLength Wrap AutoPostBack

Button Submit (default) button vagy Command button Főbb tulajdonságai: PostBackUrl CausesValidation OnClientClick

CheckBox Főbb tulajdonságai: Checked Text TextAlign AutoPostBack CausesValidation CheckedChanged event

RadioButton Főbb tulajdonságai: Checked GroupName Text TextAlign

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.

ImageButton Kattintható kép, amivel PostBack-et válthatunk ki. Image kontrol az őse. Van Click és Command eseménye.

Panel Kontrolok csoportosítására szolgál. <div> tag-et generál. Főbb tulajdonságai: DefaultButton GroupingText

Listák ListBox DropDownList CheckBoxList RadioButtonList BulletedList

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>

TreeView TreeNode objektumokból áll: Text Value NavigateUrl Feltöltésének módjai: Statikus adattal DataSourceID: XmlDataSource vagy SiteMapDataSource DataSource: XmlDocument vagy DataSet

Menu MenuItem objektumokból áll: Text Value NavigateUrl Feltöltésének módjai: Statikus adattal DataSourceID: XmlDataSource vagy SiteMapDataSource DataSource: XmlDocument vagy DataSet

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");

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

SQL Injection demó Demo/SQLInjection.aspx

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

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

Validátor vezérlők RequiredFieldValidator CompareValidator RangeValidator RegularExpressionValidator CustomValidator

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>

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

Alap validátor vezérlők beállítása RequiredFieldValidator InitialValue RangeValidator MinimumValue MaximumValue Type CompareValidator ValueToCompare vagy ControlToCompare Operator

RegularExpressionValidator <asp:RegularExpressionValidator id="emailRegexValidator" runat="server" ControlToValidate="emailTextBox" ErrorMessage= "Ilyen formában kell megadni: username@organization.xxx" ValidationExpression="\w+@\w+\.\w+" Text="*"> </asp:RegularExpressionValidator> Visual Studio 2008 beépített pattern-ek: Telefonszámok E-mail cím

Validátor vezérlők demó Demo/Validalas.aspx

CustomValidator I. Validálhatunk vele kliens és szerver oldalon is, akár egyszerre mindkettőn ClientValidationFunction OnServerValidate <asp: CustomValidator... ClientValidationFunction = "MyClientFunction" OnServerValidate = "MyServerFunction" />

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;

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 */ ... }

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