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

Felhasználói felületek és üzleti logika

Hasonló előadás


Az előadások a következő témára: "Felhasználói felületek és üzleti logika"— Előadás másolata:

1 Felhasználói felületek és üzleti logika
Bollobás Dávid

2 Tartalom Controlok Adatbázis ASP.NET egyéb LoginView Ajax Guid Newid()
ScriptManager UpdatePanel Adatbázis Guid Newid() C# Parameter GoodToKnow: Prevent saving changes… SQL alapok ASP.NET egyéb

3 LoginView Különböző felhasználók megkülönböztetése
Lényegében sok „if” ágat helyettesít <AnonymousTemplate> A felhasználó nincs autektikálva <LoggedInTemplate> A felhasználó autentikált <RoleGroups><asp:RoleGroup Roles="userInRole"></asp:RoleGroup></RoleGroups> A felhasználó autentikált és egy bizonyos szerepkörbe tartozik

4 LoginView általános használata
<AnonymousTemplate> Regisztráció, Belépés, bárki által elérhető funkciók <LoggedInTemplate> Kilépés, Profil, csak felhasználóknak elérhető tartalom <RoleGroups> Pl.: admin, csak ő érheti el a funkciókat

5 AJAX Asynchronous JavaScript And XML Kliens oldali
Az oldalt nem kell újratölteni az adatcserénél Postbackelés az oldal egy részére Felhasználói élmény növelése Kevesebb szerver-kliens kommunikáció Sok technológia által használt, értelmezett XML

6 AJAX az ASP.NET ben Beépített AJAX modul
Az ASP.NET egy szerver oldali technológia, kevés a felhasználó barát megoldása Beépített XML értelmező könyvtár Ugyanúgy ASP-s Drag&Drop kontrolokként használhatóak Saját AJAX kontrolok írhatóak ASP.NET AJAX Control csomag:

7 ScriptManager Minden ASP.NET-es AJAX kontrollhoz előbb be kell tölteni a ScriptManager kontrollt Implementálja kliens oldalon a szükséges AJAX könyvtárakat Csak egy lehet egy oldalon Legérdemesebb a MasterPage-ban definiálni

8 UpdatePanel Egyes ASP.NET kontrolok AutoPostback tulajdonsága default true(pl.: Calendar) ezért: Minden változtatáskor újraküldik a teljes oldalt A felhasználói élményt csökkentik a folyamatos szerver kommunikációval Növelik a kliens-szerver adatforgalmat, mert elküldik a teljes formot Megoldás: UpdatePanel Szükséges hozzá a ScriptManager!(mint minden ASP.NET AJAX kontrolhoz)

9 UpdatePanel <ContentTemplate> <Triggers>
Definiálja a kontrolokat, amik megjelennek benne <Triggers> <asp:AsyncPostBackTrigger ControlID="ctrl" EventName="click" /> Meghívható a szerverrel való szinkronizálása <asp:PostBackTrigger ControlID="ctrl"/> Meghívható a postback UpdateMode Always Ha Postback történik bárhol az oldalon Conditional Ha meghívjuk az Update függvényét vagy a Triggers-ből egy elemét

10 SQL alapok SELECT [column] FROM [table] WHERE [column] = @parameter
Visszaadja a beírt oszlopok értékét a megadott táblából, ahol a kiemelt oszlop értéke a paraméterével egyenlő DELETE FROM [table] WHERE [column] Kitöröl egy sort(!) a megadott táblából, ahol a kijelölt oszlop értéke megegyezik a paraméterével

11 SQL alapok UPDATE [table] SET [column] WHERE [column] Megváltoztatja az adott tábla, megadott oszlopának értékét a paraméter1 értékére, ahol a megjelölt oszlop értéke megegyezik a paraméter2-vel INSERT INTO [table] ([column1],[column2]) VALUES Beilleszt a megadott táblába egy sort, ahol az oszlop1 értéke a paraméter1 lesz és az oszlop2 értéke a paraméter2 értékével fog megegyezni

12 MSSQL alapok GUID Globaly Unique Identifier 128bit-es Integer
.NET és MSSQL támogatás egyaránt Pl.: 947EA01F-9ABD-4d9d-80C7-02AF85C822A8 Teljesen egyedi Nem kell foglalkozni azzal, hogy szinkronba hozzuk az adatbázis és a szerver kód által generált azonosítót Pl.: oszlopID generálás

13 MSSQL alapok NEWID() GoodToKnow: Server Management Studio
Generál egy új GUID-t Használata legtöbbször Default Value or Binding Stored procedure GoodToKnow: Server Management Studio Tools->Options->Designers->Table and Database Designers -> Prevent saving changes that require table re-creation Sok műveletet megakadályoz pl.: oszlop név átírása

14 C# és az adatbázis using System.Data.SqlClient;
SqlConnection & SqlCommand Elég az alapvető adatbázis műveletekhez ConfigurationManager.ConnectionStrings["fefeConnectionString"].ConnectionString Meghívja a web.config „fefeConnectionString” Connstringet SqlConnection.Open() Szükséges a parancs végrehajtás előtt SqlConnection.Close() Ajánlott lezárni a connectiont

15 Sqlcommand és Sqlconnection
SqlCommand.ExecuteNonQuery() Végrehajtja az SqlCommand-t, de nem térít vissza értéket SqlCommand.ExecuteScalar() Végrehatja az SqlCommand-t és a legelső sor legelső értékét visszatéríti SqlCommand.ExecuteReader() Végrehatja az SqlCommand-t és a visszakapott eredményen(sorokban) végig olvas

16 @SqlParameter @ segítségével határozzuk meg, hogy egy paraméterre gondoltunk az SqlCommand.CommandText-ben vagy a Stored procedure számára Olykor szükséges az SqlParamter osztály használata pl.: DateTime esetén Az ASP.NET és az MSSQL különböző módon használja Hibát dob ha csak stringként kerül átadásra Felhasználói input esetén „kötelező” használni Megakadályozza az SQL kód törését

17 ASP.NET egyebek Membership.GetUser(string Name).ProviderUserKey
Visszaadja a UserName szerint a userID-t(Guid) Page.User.Identity.IsAuthenticated Visszaadja, hogy a felhasználó be van e jelentkezve Az adott oldalra tartozik Bool érték Page.User.Identity.Name Visszaadja a bejelentkezett felhasználó nevét Az adott oldalra vonatkozik Session.Abandon() Megsemmisíti a Session-ket


Letölteni ppt "Felhasználói felületek és üzleti logika"

Hasonló előadás


Google Hirdetések