slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy PowerPoint Presentation
Download Presentation
ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy

Loading in 2 Seconds...

play fullscreen
1 / 52

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


  • 311 Views
  • Uploaded on

ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy. Agenda. Kaksi esitystä, lounas välissä Osa 1, käyttöliittymät Uudet kontrollit Osa 2, AJAX ja tietokannat AJAX-ominaisuudet LINQ. Mitä uutta ASP.NET 3.5:ssä?. Yleiskatsaus uutuuksiin.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ASP.NET 3.5 – Uudet ominaisuudet Jani Järvinen, C# MVP Technical Manager, Software Dev. Moonsoft Oy' - lotus


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
asp net 3 5 uudet ominaisuudet jani j rvinen c mvp technical manager software dev moonsoft oy
ASP.NET 3.5 – Uudet ominaisuudet

Jani Järvinen, C# MVP

Technical Manager, Software Dev.

Moonsoft Oy

agenda
Agenda
  • Kaksi esitystä, lounas välissä
  • Osa 1, käyttöliittymät
    • Uudet kontrollit
  • Osa 2, AJAX ja tietokannat
    • AJAX-ominaisuudet
    • LINQ
yleiskatsaus uutuuksiin
Yleiskatsaus uutuuksiin
  • Uusia kontrolleja
    • ListView ja DataPager
  • Uusia nimiavaruuksia
    • System.Web.Extensions-koonnissa
  • Sisäkkäiset mallisivut
    • Tuki Visual Studiossa, viimeinkin
  • AJAX-tuki
lis uutuuksia
Lisää uutuuksia
  • Tietokantayhteydet
    • LINQ-tuki
    • LinqDataSource-kontrolli
  • IIS 7.0 -integrointi
    • Käyttäjäntunnistus ja välimuisti käytettävissä kaikilla tiedostotyypeillä
ty kaluja
Työkaluja
  • ASP.NET Merge Tool
    • Aspnet_merge.exe
    • Kääntää web-projektista yhden tai useamman koonnin
laajennuksista net 3 5 een
Laajennuksista .NET 3.5:een
  • Aiemmista erillisosistaja laajennuksistatullut osa.NET 3.5:ttä
  • Vihreät ja punaisetbitit
komponenttihistoriaa
Komponenttihistoriaa
  • ASP.NET 1.1
    • Repeater
    • DataGrid
    • DataList
  • ASP.NET 2.0
    • GridView
    • FormView
  • ASP.NET 3.5
    • ListView
    • DataPager
miksi uusia kontrolleja
Miksi uusia kontrolleja?
  • ListView
    • Monipuolisemmat tarpeet
    • Ei pelkkiä taulukkoja
    • ”Point & click”
  • DataPager
    • Helpompi sivutus
listview kontrolli
ListView-kontrolli
  • System.Web.UI.WebControls.ListView
  • Yhdistää grid- ja Repeater-kontrollien ominaisuuksia
  • Voi olla täysinCSS-pohjainen,ei HTML:ntable-elementtiä
  • Tukee myös tietojen muokkausta
mallit templates
Mallit (templates)
  • ListView tarvitsee toimiakseen mallipohjia
  • ItemTemplate
    • Toistaa rivit esim. tietokannasta
    • Tarvitaan kontrolli, jonka ID="itemPlaceHolder"
  • LayoutTemplate
    • Määrittää ulkoasun
  • EditTemplate
    • Muokkaamista varten
esimerkki mallista
Esimerkki mallista

<asp:ListView ID="ListView1" runat="server">

<LayoutTemplate>

<ul>

<asp:PlaceHolder ID="itemPlaceHolder”

runat="server" />

</ul>

</LayoutTemplate>

<ItemTemplate>

<li>

<%# Eval("ID") %>: <%# Eval("Name") %></li>

</ItemTemplate>

</asp:ListView>

muokkausominaisuudet
Muokkausominaisuudet
  • EditItemTemplate-malli
  • Määrittelee mallin, jonka mukaan muokkaus tapahtuu
  • Eval-metodin sijaan käydä Bindia
    • <%# Bind(”Name") %>
  • Määrittele ItemEditing-tapahtumankäsittelijä
    • Aseta EditIndex
    • Tee DataBind()
komennot ja tapahtumat
Komennot ja tapahtumat
  • ListView-kontrollinen yhteyteen tarvitaan painikkeita
  • Painikkeiden CommandName-ominaisuus
    • Edit, Insert, Delete
    • Update, Cancel
  • Toteuta Item*ing-tapahtumat
    • Esim. ItemUpdating, ItemEditing
  • Paluu katselutilaan
    • EditIndex = -1
valinta selection
Valinta (selection)
  • 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
lajittelu sorting
Lajittelu (sorting)
  • 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
muita mahdollisuuksia
Muita mahdollisuuksia
  • Ryhmittely
    • GroupTemplate
    • GroupItemCount
  • Ulkoasu
    • LayoutTemplate
    • Sivutus-mahdollisuus
  • EmptyItem/EmptyDataTemplate
datapager komponentti
DataPager-komponentti
  • Mahdollistaa sivutustoiminnot
  • Voidaan yhdistää muihin kontrolleihin
    • Esim. ListView jne.
  • Kaksi päätyyliä
    • Numerot
    • Painikkeet
sivutustoiminnallisuus
Sivutustoiminnallisuus
  • PagedControlID
    • Mikä kontrolli sivutetaan
  • PageSize
    • Montako elementtiä per sivu
  • Painike- tai numerokomponentit
    • NextPreviousPagerField
    • NumericPagerField
    • Tai sekä että
esimerkki datapagerista
Esimerkki DataPagerista

<asp:DataPager ID="DataPager1" PagedControlID="ListView1”

runat="server">

<Fields>

<asp:NextPreviousPagerField ButtonType="Button“

ShowFirstPageButton="True"

ShowNextPageButton="False"

ShowPreviousPageButton="False" />

<asp:NumericPagerField />

<asp:NextPreviousPagerField ButtonType="Button"

ShowLastPageButton="True"

ShowNextPageButton="False"

ShowPreviousPageButton="False" />

</Fields>

</asp:DataPager>

ipageableitemcontainer
IPageableItemContainer
  • Rajapinta sivutukselle
  • ListView-kontrolli toteuttaa
  • SetPageProperties-metodi
    • Kutsutaan aina, kun sivutettava kontrollin sivua on tarpeen vaihtaa
  • Toteutettavissa itsekin
siirtyminen sivulta toiselle
Siirtyminen sivulta toiselle
  • 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
uusi koonti assembly
Uusi koonti (assembly)
  • System.Web.Extensions.dll
  • Monia uusia nimi-avaruuksia
    • Monet liittyvät WCF:ään
    • AJAX-toteutukset
      • Esim. JavaScript serializer
  • System.Web.UI.WebControls
miss menn n t n n
Missä mennään tänään
  • Paljon puhetta, vähän tekoja?
  • Onko AJAXille aidosti tarvetta?
  • Voitko kehittää moderneja sovelluksia ilman AJAXia?
visual studio net 3 5
Visual Studio & .NET 3.5
  • AJAX-kontrollit kaikkien käyttöön
  • Ei enää erillisiä laajennuksia
  • Helppo ottaakäyttöön omissaASP.NET-sovelluksissa
alkuun ajax toteutuksissa
Alkuun AJAX-toteutuksissa
  • Kaksi komponenttia
    • ScriptManager
    • Update Panel
  • Yksi ScriptManager per sivu
  • Koodia voidaankirjoittaa kutenennenkin
updateprogress kontrolli
UpdateProgress-kontrolli
  • 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ä
esimerkki
Esimerkki

<asp:UpdateProgress ID="UpdateProgress1”

runat="server"

AssociatedUpdatePanelID="UpdatePanel1”

DisplayAfter="2000">

<ProgressTemplate>

<b>Hetki pieni...</b>

</ProgressTemplate>

</asp:UpdateProgress>

ajax control toolkit
AJAX ControlToolkit
  • Tarjoaa joukon valmiita kontrolleja
  • Laajentaa Visual Studion ja .NET 3.5:n vakiotarjontaa
  • Maksuton, lähdekoodi saatavilla
  • Lataa
    • www.asp.net/ajax/download
laajennukset extenders
Laajennukset (extenders)
  • Muokkaavat valmiiden komponenttien toiminnallisuutta
    • Esim. ConfirmButton
  • System.Web.UI.ExtenderControl
  • Katso
    • ”Adding ASP.NET AJAX Client Behaviors to Web Server Controls”
uusia ominaisuuksia
Uusia ominaisuuksia
  • Visual Studio 2008 tuomukanaan uusiaJavaScript-ominaisuuksia
  • IntelliSense-tuki
  • Omien luokkiendokumentointi-mahdollisuus
    • XML-dokumentaatiotamyös JavaScript-koodiin
esimerkki39
Esimerkki
  • Huomaa, että XML-dokumentit on kirjoitettava metodin lohkon sisään!

function SayHello(name){    /// <summary>This method returns a string

saying Hello, World!</summary>    /// <param name="name"

type="string">Specifies the name to

send greetings to.</param>

    return "Hello, "+name+"!";}

linq pikakertaus
LINQ – pikakertaus
  • 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
pikaesimerkki omat oliot
Pikaesimerkki: omat oliot

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)

{

}

linq ja sql server
LINQ ja SQL Server
  • .NET 3.5 sisältääyksinkertaisenoliomapperinSQL Serverille
    • O/R Mapper
  • Lisää projektiin”LINQ to SQLClasses” -malli
esimerkki sql kyselyst
Esimerkki SQL-kyselystä

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 + "<br />");

}

Label1.Text = buffer.ToString();

linqdatasource kontrolli
LinqDataSource-kontrolli
  • 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ähteeksinormaalistiesim. ListView-ja GridView-kontrolleille
ominaisuuksia
Ominaisuuksia
  • ContextTypeName
    • Tietolähden LINQ-kyselyille
  • TableName
    • Mistä taulusta haetaan tietoja
  • Select, Where, OrderBy
    • Lähdekoodikieliset ehtolauseet
    • Ota AutoGenerate*-ominaisuudet pois päältä
esimerkki48
Esimerkki

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="AlbumID"

DataSourceID="LinqDataSource1">

<Columns>

</Columns>

</asp:GridView>

<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="WebAppDemo.PhotosDataContext"

TableName="Albums">

</asp:LinqDataSource>

where ehto
Where-ehto

<asp:LinqDataSource ID="LinqDataSource1" runat="server”

ContextTypeName="WebAppDemo.PhotosDataContext"

TableName="Albums" AutoGenerateWhereClause="True">

<WhereParameters>

<asp:ControlParameter

Name="AlbumID" ControlID="DropDownList1"

Type="Int32" />

</WhereParameters>

</asp:LinqDataSource>

mit uutta asp net 3 5 ss51
Mitä uutta ASP.NET 3.5:ssä?
  • ASP.NET 3.5 on monipuolinen laajennus
  • Uusia kontrolleja
  • AJAX-tuki
  • LINQ ja tietokannat
kiitos
Kiitos!
  • Yhteystiedot
    • Jani Järvinen, Moonsoft Oy
    • jani.jarvinen@moonsoft.fi
  • Seuraa CodeZonea ja ITpro.fi:tä
    • www.codezone.fi
    • www.itpro.fi/asiantuntijaryhmat/ohjelmistokehitys