2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.
-
Upload
dalton-lever -
Category
Documents
-
view
227 -
download
3
Transcript of 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.
![Page 1: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/1.jpg)
ASP.NET
Csala PéterELTE - [email protected]://csalapeter.spaces.live.com
2.0 és 3.5 közötti különbségek
3.5
![Page 2: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/2.jpg)
2
TartalomAdatelérés
Új vezérlők
AJAX
SP1 nyúzságok
![Page 3: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/3.jpg)
Adatelérés ADO.NET 2.0-valGuid aid = Guid.Empty;SqlConnection MySqlConnection = Helper.GetConnectionStrings();using (MySqlConnection)using (SqlCommand MySqlCommand = MySqlConnection.CreateCommand()){ MySqlCommand.CommandText = "Select ID From Articles Where Title Like
@title"; MySqlCommand.Parameters.Add("@title", SqlDbType.NText, 200); MySqlCommand.Parameters["@title"].Value = "DataAccess with ADO.NET 2.0"; try { MySqlConnection.Open(); aid = new Guid(MySqlCommand.ExecuteScalar().ToString()); } catch (SqlException sexp) { ExceptionManager.SqlExpectionHandling(sexp.Message,sexp.ErrorCode); } finally { MySqlConnection.Close(); }}
ConnectionString elkérése Connection és Command objektum using-olása
Skalár érték lekérdése külön függvénnyel
Kivé
tel k
ezel
és
Paraméteres lekérdezés használata az SQL
Injection ellen
![Page 4: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/4.jpg)
Adatelérés ADO.NET 3.5-telPortalDataContext pdc = new PortalDataContext();
var newguid = (from article in pdc.Articles where article.Title == "Data Access with ADO.NET 3.5" select new Guid(article.Id)).First();
string url = String.Format("ShowArticle.aspx?ID={0}", newguid.ToString());
LINQ TO SQLLINQ TO ORACLELINQ TO MYSQL
LINQ TO DATASETLINQ TO ENTITIES
LINQ TO ANYTHING
![Page 5: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/5.jpg)
LINQ alapokLanguage INtegtated Query
Nyelvbe ágyazott lekérdezés
http://en.wikipedia.org/wiki/Linq
OO (objektum orientált) elgondolás ihlette
Relációs adatbázisok, táblák objektumokra való leképezése
Előnyei• Kényelmesebb• „Kevesebbet” kell tudnunk magáról az adatbázisról• Biztonságosabb(?) – jó kérdés • Sémák miatt erősen típusosan működik• Nem kell külön BO-kal (busniess object) szenvedni• Hasonló a szintakszisa az összes Linq provider-nek (könnyebb kezelhetőség,
átjárhatóság)• Könnyen kibővíthető, pl.: Linq 2 AD
![Page 6: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/6.jpg)
Linq alapok - Architektúra
![Page 7: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/7.jpg)
Linq egy ORM technológia
Object Relation Mapping
Relációs adatbázisok leképezése az objektumok világába
Employees Table vs List<Employee> • OOP rulezz!!!
Adattábla egy rekordja Egy Entitiás
DB adattípus .NET adattípus
Megszorítások Validáció
![Page 8: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/8.jpg)
Linq alapok - leképezésAdatbázist + a kapcsolatot egy DataContext nevű osztálynak feleltetjük meg
Az adattáblák rekordjaiból entitások lesznek (entity)• Mezők tulajdonságként jelennek meg• .NET típusrendszer
Tárolt eljárások, függvények szintén leképeződnek a .NET világába• Nézetek?
Relációban lévő táblák esetén tulajdonságokon keresztül lehet egymásra keresztbehivatkozni
Változáskövetés (objektum gráf) • kikapcsolása esetén csak lekérdezés!
Sajátos szintaktikája van, de hasonlít az SQL-re (from, where, select sorrend)
![Page 9: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/9.jpg)
Linq alapok – Modell létrehozása
1.) egy Linq To Sql Classes fájlt (dbml-t) létre kell hozni!
2.) Drag & Drop módszerrel be kell húzni a megfelelő táblá(ka)t a Server Explorer-ből
3.) Ennyi!!!
![Page 10: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/10.jpg)
Linq alapok - szintaxis
From, Where, Select itt a sorrend azért, hogy a where-nél legyen IntelliSence!!
Select * From Videos-nak felel meg
Var != nem típusos, épp ellenkezőleg• Jelenesetben ez egy IQueryable<Video> lesz
Lehet anonim típusokat is létrehozni• pl.: select new {Title=v.Title, Url = v.MediaUrl};• emiatt használjuk a var-t
A végén lehet belőle tömböt, vagy akár generikus listát (List<>) is készíteni
var q = from v in vdc.Videos select v;
![Page 11: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/11.jpg)
11
demodemo
Linq To SQL
![Page 12: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/12.jpg)
12
demodemo
Linq To XML (RSS)
![Page 13: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/13.jpg)
13
TartalomAdatelérés
Új vezérlők
AJAX
SP1 nyúzságok
![Page 14: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/14.jpg)
KETTŐŐ+ EGY
Comming Soon
![Page 15: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/15.jpg)
ListView
Sablon alapú vezérlő (Template-driven control)
Teljes kontrollt kapunk a generált HTML kód felett
DataList + Repeater összegyúrva
LayoutTemplate-et, illetve az ItemTemplate-et mindenféleképpen kötelező megadni!!!
LayoutTemplate: alap elrendezés • Pl.: <table>, <ul>, stb.• El kell benne helyezni egy PlaceHolder-t, ahova majd
kerülni fognak az elemek
ItemTemplate: hogyan nézzen ki egy adott elem
![Page 16: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/16.jpg)
ListView + Sort
Header-ben el kell helyezni LinkButton-okat
CommandName = Sort
CommandArgument = PropertyName
És már használhatjuk is
COOOL
![Page 17: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/17.jpg)
DataPager
„Univerzális” lapozó• Minden vezérlővel használható, ami megvalósítja az
IPageableItemContainer interfészt• Alapból csak a ListView tudja ezt
3féle lapozási lehetőség• NextPreviousPageField• NumericPagerField• TemplatePagerField
• MaximumRows, StartIndexRow, TotalRowCount• Read-only-k
Elhelyezhető akár a ListView LayoutTemplate-jén belül is!!!
![Page 18: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/18.jpg)
DataPager + ListView + ACT
http://mattberseth.com/blog/2007/12/data_navigation_with_the_listv.html
![Page 19: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/19.jpg)
demodemo
Listázzunk ki valamit!!!
![Page 20: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/20.jpg)
20
TartalomAdatelérés
Új vezérlők
AJAX
SP1 nyúzságok
![Page 21: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/21.jpg)
AJAX (Extension) + MS Ajax Library
Asynchronous JavaScript and XML
XmlHttpRequest + JavaScript + DHTML
„Az aszinkronítás ma már nem extra funkció, hanem alapkövetelmény egy webalkalmazásnál”
„villanás mentes weboldal”
Aszinkron tudunk szerver oldali kódokat futtatni
Rich Internet Application (RIA) – Silverlight???http://www.msdnkk.hu/Pages/InduloKeszlet/AJAX/
![Page 22: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/22.jpg)
AJAX használata
ScriptManager-t minden oldal tetejére kell• Vagy MasterPage-nél ScriptManagerProxy
UpdatePanel-lel kell körülvenni az aszinkron módon frissíteni kívánt terület• ContentTemplate = tartalom• Triggers = milyen események hatására frissüljön
UpdateProgress = Felhasználó értesítése arról, hogy dolgozunk
![Page 23: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/23.jpg)
demodemo
AJAX
![Page 24: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/24.jpg)
Community Project (MS + külsősök)
+35 „vezérlő”
Az ACT-ben lévő vezérlő típusok:• Extender
• Egy meglévő vezérlő funkcionalitását bővíti ki• TargetControlID a kapocs
• Control• Ön magában is használható (pl.: Rating)
http://www.asp.net/ajax/ajaxcontroltoolkit/samples/
http://devportal.hu/groups/aspnet/pages/ajax-control-toolkit.aspx - 25 ACT-s cikk
![Page 25: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/25.jpg)
demodemo
ACT
![Page 26: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/26.jpg)
27
TartalomAdatelérés
Új vezérlők
AJAX
SP1 nyúzságok
![Page 27: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/27.jpg)
.NET 3.5 + VS08 SP1
.NET 3.5 SP1• http://www.microsoft.com/downloads/details.aspx?
FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en
• 831mb
VS08 SP1• http://www.microsoft.com/downloads/details.aspx?
FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
• 231mb
Videók• http://www.asp.net/learn/3.5-SP1/
![Page 28: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/28.jpg)
Új technológiák
ASP.NET Dynamic Data
ASP.NET Routing
ASP.NET Ajax History
ASP.NET Ajax Script combining
ADO.NET DataService
ADO.NET Entity Framework
(ASP.NET MVC preview)
( - lesz róla ma szó!)
![Page 29: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/29.jpg)
Hogyan tovább???
http://www.asp.net/learn/3.5-videos/
http://www.asp.net/learn/ajax-videos/
http://www.asp.net/learn/3.5-SP1/
![Page 30: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/30.jpg)
Kérdések és válaszok
0. kérdésMi a Pi 100. számjegye (99. a vessző után)?3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679
1. kérdésMinek a rövidítése a LINQ (, illetve minek az ORM)?
2. kérdésMiért jók az Extender-ek?
![Page 31: 2 11 12 13 KETTŐŐ + EGY Comming Soon Comming Soon.](https://reader034.fdocuments.net/reader034/viewer/2022051614/551a703f55034643688b5076/html5/thumbnails/31.jpg)
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.