Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy.

Samankaltaiset esitykset


Esitys aiheesta: "ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy."— Esityksen transkriptio:

1

2

3 ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy

4 Agenda •Kaksi esitystä, lounas välissä •Osa 1, käyttöliittymät –Uudet kontrollit •Osa 2, AJAX ja tietokannat –AJAX-ominaisuudet –LINQ

5 Mitä uutta ASP.NET 3.5:ssä?

6 Yleiskatsaus uutuuksiin •Uusia kontrolleja –ListView ja DataPager •Uusia nimiavaruuksia –System.Web.Extensions-koonnissa •Sisäkkäiset mallisivut –Tuki Visual Studiossa, viimeinkin •AJAX-tuki

7 Lisää uutuuksia •Tietokantayhteydet –LINQ-tuki –LinqDataSource-kontrolli •IIS 7.0 -integrointi –Käyttäjäntunnistus ja välimuisti käytettävissä kaikilla tiedostotyypeillä

8 Työkaluja •ASP.NET Merge Tool –Aspnet_merge.exe –Kääntää web-projektista yhden tai useamman koonnin

9 Laajennuksista.NET 3.5:een •Aiemmista erillisosista ja laajennuksista tullut osa.NET 3.5:ttä •Vihreät ja punaiset bitit

10 Uudet kontrollit

11 •ASP.NET 1.1 –Repeater –DataGrid –DataList •ASP.NET 2.0 –GridView –FormView •ASP.NET 3.5 –ListView –DataPager Komponenttihistoriaa

12 •ListView –Monipuolisemmat tarpeet –Ei pelkkiä taulukkoja –”Point & click” •DataPager –Helpompi sivutus Miksi uusia kontrolleja?

13 ListView

14 •System.Web.UI.WebControls.ListView •Yhdistää grid- ja Repeater-kontrollien ominaisuuksia •Voi olla täysin CSS-pohjainen, ei HTML:n table-elementtiä •Tukee myös tietojen muokkausta ListView-kontrolli

15 •ListView tarvitsee toimiakseen mallipohjia •ItemTemplate –Toistaa rivit esim. tietokannasta –Tarvitaan kontrolli, jonka ID="itemPlaceHolder" •LayoutTemplate –Määrittää ulkoasun •EditTemplate –Muokkaamista varten Mallit (templates)

16 <asp:PlaceHolder ID=" itemPlaceHolder ” runat="server" /> : Esimerkki mallista

17 •EditItemTemplate-malli •Määrittelee mallin, jonka mukaan muokkaus tapahtuu •Eval-metodin sijaan käydä Bindia – •Määrittele ItemEditing-tapahtumankäsittelijä –Aseta EditIndex –Tee DataBind() Muokkausominaisuudet

18 •ListView-kontrollinen yhteyteen tarvitaan painikkeita •Painikkeiden CommandName-ominaisuus –Edit, Insert, Delete –Update, Cancel •Toteuta Item*ing-tapahtumat –Esim. ItemUpdating, ItemEditing •Paluu katselutilaan –EditIndex = -1 Komennot ja tapahtumat

19 •SelectedItemTemplate •Määrittää, miten valittu rivi (tms.) näytetään •SelectedIndex-ominaisuus –Lue tai aseta valittu rivi –Aina suhteellinen näkymään, ei tietolähteeseen •Tapahtumat –SelectedIndexChanging –SelectedIndexChanged Valinta (selection)

20 •ListView-kontrolli tukee myös tietojen lajittelua •Kutsu vain Sort-metodia –Parametreina lajiteltava sarake ja suunta –Paluu normaaliin: lajiteltava sarake = ”” •Vaihtoehtona esim. LinkButton –CommandName = ”Sort” –CommandArgument=”sarakkeen nimi” •Tapahtumat –Sorting, Sorted Lajittelu (sorting)

21 •Ryhmittely –GroupTemplate –GroupItemCount •Ulkoasu –LayoutTemplate –Sivutus-mahdollisuus •EmptyItem/EmptyDataTemplate Muita mahdollisuuksia

22 DataPager

23 •Mahdollistaa sivutustoiminnot •Voidaan yhdistää muihin kontrolleihin –Esim. ListView jne. •Kaksi päätyyliä –Numerot –Painikkeet DataPager-komponentti

24 •PagedControlID –Mikä kontrolli sivutetaan •PageSize –Montako elementtiä per sivu •Painike- tai numerokomponentit –NextPreviousPagerField –NumericPagerField –Tai sekä että Sivutustoiminnallisuus

25 <asp:DataPager ID="DataPager1" PagedControlID ="ListView1” runat="server"> <asp:NextPreviousPagerField ButtonType="Button“ ShowFirstPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" /> <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False" ShowPreviousPageButton="False" /> Esimerkki DataPagerista

26 •Rajapinta sivutukselle •ListView-kontrolli toteuttaa •SetPageProperties-metodi –Kutsutaan aina, kun sivutettava kontrollin sivua on tarpeen vaihtaa •Toteutettavissa itsekin IPageableItemContainer

27 •Oletusarvoisesti DataPager-kontrolli käyttää POST-metodia –javascript:__doPostBack('DataPager1$ctl01','') •Vaihtoehtoisesti voidaan käyttää myös GET- metodia •QueryStringField-ominaisuus –http://firma.fi/DataPager.aspx? mun_oma =2 –Painikkeet vaihtuvat linkeiksi Siirtyminen sivulta toiselle

28 2.7.2014 System.Web.Extensions

29 •System.Web. Extensions.dll •Monia uusia nimi- avaruuksia –Monet liittyvät WCF:ään –AJAX-toteutukset •Esim. JavaScript serializer •System.Web.UI. WebControls Uusi koonti (assembly)

30 AJAX-toiminnallisuus

31 •Paljon puhetta, vähän tekoja? •Onko AJAXille aidosti tarvetta? •Voitko kehittää moderneja sovelluksia ilman AJAXia? Missä mennään tänään

32 •AJAX-kontrollit kaikkien käyttöön •Ei enää erillisiä laajennuksia •Helppo ottaa käyttöön omissa ASP.NET- sovelluksissa Visual Studio &.NET 3.5

33 •Kaksi komponenttia –ScriptManager –Update Panel •Yksi ScriptManager per sivu •Koodia voidaan kirjoittaa kuten ennenkin Alkuun AJAX-toteutuksissa

34 •Näyttää käyttäjälle, että jotain tapahtuu •Tarvitaan –ProgressTemplate •Pätkä HTML-koodia, joka näytetään –AssociatedUpdatePanelID •Mihin paneeliin toiminto liitty –DisplayAfter •Aikaraja, oletus 0,5 sekuntia •Ei tarvitse olla UpdatePanelin sisällä UpdateProgress-kontrolli

35 <asp:UpdateProgress ID="UpdateProgress1” runat="server" AssociatedUpdatePanelID="UpdatePanel1” DisplayAfter="2000"> Hetki pieni... Esimerkki

36 •Tarjoaa joukon valmiita kontrolleja •Laajentaa Visual Studion ja.NET 3.5:n vakiotarjontaa •Maksuton, lähdekoodi saatavilla •Lataa –www.asp.net/ajax/downloadwww.asp.net/ajax/download AJAX Control Toolkit

37 •Muokkaavat valmiiden komponenttien toiminnallisuutta –Esim. ConfirmButton •System.Web.UI.ExtenderControl •Katso –”Adding ASP.NET AJAX Client Behaviors to Web Server Controls” Laajennukset (extenders)

38 JavaScript-tuki

39 •Visual Studio 2008 tuo mukanaan uusia JavaScript-ominaisuuksia •IntelliSense-tuki •Omien luokkien dokumentointi- mahdollisuus –XML-dokumentaatiota myös JavaScript-koodiin Uusia ominaisuuksia

40 •Huomaa, että XML-dokumentit on kirjoitettava metodin lohkon sisään! function SayHello(name) { /// This method returns a string saying Hello, World! /// < param name="name" type="string">Specifies the name to send greetings to. return "Hello, "+name+"!"; } Esimerkki

41 LINQ ja ASP.NET-sovellukset

42 •Uusi tapa käsitellä erilaisia tietolähteitä yhdellä tavalla, suoraan ohjelmointikielen syntaksia käyttäen •Tuettuina: –omat oliot –XML-tiedostot –DataSet-tietovarasto –SQL Server -tietokannat LINQ – pikakertaus

43 int[] numbers = { 3, 6, 2, 9, 12, 7, 4, 5, 11 }; var bigNumbers = from n in numbers where n > 5 select n; foreach (int bigNum in bigNumbers) { … } Pikaesimerkki: omat oliot

44 •.NET 3.5 sisältää yksinkertaisen oliomapperin SQL Serverille –O/R Mapper •Lisää projektiin ”LINQ to SQL Classes” -malli LINQ ja SQL Server

45 PhotosDataContext context = new PhotosDataContext (); var albums = from album in context.Albums orderby album.Name select album; StringBuilder buffer = new StringBuilder(); foreach (var album in albums) { string name = album.Name; buffer.AppendLine(name + " "); } Label1.Text = buffer.ToString(); Esimerkki SQL-kyselystä

46 LinqDataSource

47 •Tarjoaa web-sovelluksille helpon tavan viitata LINQ-tietolähteisiin •Projektiin on oltava jo lisätty LINQ-luokkia kuten edellä –Visual Studio näkee projektin DataContext-oliot •Käy tietolähteeksi normaalisti esim. ListView- ja GridView- kontrolleille LinqDataSource-kontrolli

48 •ContextTypeName –Tietolähden LINQ-kyselyille •TableName –Mistä taulusta haetaan tietoja •Select, Where, OrderBy –Lähdekoodikieliset ehtolauseet –Ota AutoGenerate*-ominaisuudet pois päältä Ominaisuuksia

49 < asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AlbumID" DataSourceID ="LinqDataSource1"> … < asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName ="WebAppDemo.PhotosDataContext" TableName ="Albums"> Esimerkki

50 <asp:LinqDataSource ID="LinqDataSource1" runat="server” ContextTypeName="WebAppDemo.PhotosDataContext" TableName="Albums" AutoGenerateWhereClause ="True"> <asp:ControlParameter Name="AlbumID" ControlID="DropDownList1" Type="Int32" /> Where-ehto

51 Yhteenveto

52 •ASP.NET 3.5 on monipuolinen laajennus •Uusia kontrolleja •AJAX-tuki •LINQ ja tietokannat 2.7.2014 Mitä uutta ASP.NET 3.5:ssä?

53 •Yhteystiedot –Jani Järvinen, Moonsoft Oy –jani.jarvinen@moonsoft.fijani.jarvinen@moonsoft.fi •Seuraa CodeZonea ja ITpro.fi:tä –www.codezone.fiwww.codezone.fi –www.itpro.fi/asiantuntijaryhmat/ohjelmistokehityswww.itpro.fi/asiantuntijaryhmat/ohjelmistokehitys 2.7.2014 Kiitos!


Lataa ppt "ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy."

Samankaltaiset esitykset


Iklan oleh Google