1 / 56

2123 ASP.NET 2.0

2123 ASP.NET 2.0. Dušan Zupančič, KOMPAS Xnet 17.5.2005. Zakaj ASP.NET 2.0?. ASP.NET 1.x je prinesel revolucijo v razvoj spletnih rešitev Odličen programski model, široka izbira programskih jezikov, na voljo celotna funkcionalnost ogrodja .NET

isolde
Download Presentation

2123 ASP.NET 2.0

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2123 ASP.NET 2.0 Dušan Zupančič, KOMPAS Xnet 17.5.2005

  2. Zakaj ASP.NET 2.0? • ASP.NET 1.x je prinesel revolucijo v razvoj spletnih rešitev • Odličen programski model, široka izbira programskih jezikov, na voljo celotna funkcionalnost ogrodja .NET • Standardi funkcionalnosti spletnih rešitev so se dvignili, tako da je potrebno veliko, za današnje stanje normalnih funkcionalnosti programirati • Glavne prednosti ASP.NET 2.0 • Vgrajena podpora v obliki grafičnih gradnikov za pogosto uporabljano funkcionalnost – manj kode • Poenostavljeno upravljanje (administracija) • Boljše performance

  3. Visual Web Developer 2005 • Beta različica je brezplačno na voljo: • http://msdn.microsoft.com/express/vwd/ • Osnovne značilnosti: • Namenjen razvijalcem spletnih rešitev • Vključeni programski jeziki: C#, VB.NET, J# • Izboljšan Intellisense (tudi pri pisanju HTML) • Na voljo je vgrajen spletni strežnik

  4. Vgrajen spletni strežnikomogoča razvoj v datotečnem sistemu

  5. VWD je namenjen razvoju spletnih rešitev

  6. Predloge strani (page template)

  7. Glava Navigacija Vsebina Noga Spletne strani danes

  8. Default.aspx <%@ Page Master=“moj.Master” %> <asp:Content ContentPlaceHolderId=vsebina /> Glava Navigacija Vsebina strani Default Noga moj.master <%@ Master %> Glava Navigacija <asp:ContentPlaceHolder Id=vsebina /> Noga

  9. Dodajanje predloge strani

  10. Uporaba predlog tabel Layout  Insert table

  11. Oblikovanje predloge

  12. Programiranje s predlogami • S spletne strani lahko dostopamo do predloge • Lastnost Page.Master • Dostop do javnih lastnosti predloge • FindControl za dostop do kontrolnikov • Dinamično določanje predloge • Lastnost Page.MasterFilePath • Dinamično nastavljanje predloge spletne strani

  13. Teme • Mehanizem za določanje vizualnega izgleda strani • Ko spletni strani uporabimo temo se samodejno implementirajo datoteke, ki so del teme (stili in preobleke) • Vsebuje • Preobleko (skin): • Nabor lastnosti, ki jih uporablja eden ali več kontrolnikov nekega tipa • Stil • Datoteke CSS • Sredstva • Slike in ostale datoteke

  14. Teme • Teme aplikacije • Podimenik \App_Themes • Ime teme je določeno z imenom imenika • Kako ustvarimo temo: • Ustvarimo nov podimenik \App_Themes (Web Site  Add Folder  Theme Folder) • Ustvarimo podimenik z imenom teme • Dodamo datoteke .skin, .css in ostale

  15. Preobleke (skin) • Definirajo izgled enega ali več kontrolnikov • Ustvarjanje preobleke: • V imeniku s temo ustvarimo novo datoteko s končnico .skin (Add new Item  Skin File) • Dodamo imena gradnikov in podamo njihove lastnosti: <asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />

  16. Uporaba teme in preobleke • Na nivoju aplikacije v web.config: <configuration> <system.web> <pages theme=“NTKtema" /> </system.web> </configuration> • Na spletni strani <% @Page Theme=“NTKtema“ … %> • Na kontrolniku • Če je tema definirana na nivoju spletne strani se nastavitev podeduje • Lahko pa temo eksplicitno izberemo preko lastnosti ThemeId

  17. DEMO • Predloge strani • Teme in preobleke • Določitev teme na nivoju aplikacije

  18. Dostop do podatkov

  19. Nov model podatkovnih kontrolnikov Podatkovnabaza Podatkovno povezani kotnrolnik <asp:GridView DataSourceId=“MySource” runat=“server”/> <asp:TreeView DataSourceId=“MySource” runat=“server”> … Poslovniobjekt Kontrolnik – podatkovni izvor <asp:SqlDataSource Id=“MySource” ConnectionString=“…” SelectCommand=“select id from authors” runat=“server” /> <asp:ObjectDataSource Id=“MySource” TypeName=“CustomersDB” SelectMethod=“GetCustomersByRegion” runat=“server” /> <asp:XmlDataSource Id=“MySource” DataFile=“Bookstore.xml” XPath=“/bookstore/book[@genre=‘fiction’]” runat=“server” /> XML Dokument

  20. Dve vrsti podatkovnih kontrolnikov • Podatkovni izvori • Kontrolniki se ne prikazujejo • Predstavljajo vez do podatkovnih izvorov • Podatkovne baze, poslovni objekti, XML, spletne storitve • Bogat nabor možnosti dela s podatki • Sortiranje, filtriranje, ostranjevanje (paging), dodajanje, spreminjanje brisanje • Objavljanje podatkov preko tabelaričnih ali hierarhičnih vmesnikov do podatkovno povezanih kontrolnikov • Podatkovno povezani kontrolniki • Kontrolniki, ki prikazujejo podatke • npr., GridView, DetailsView, TreeView, Menu • Samodejno povezovanje s podatki v podatkovnih izvorih (ni dodatne kode – DataBind) • Podatke zajamejo v ustreznem trenutku • Lahko izkoriščajo posebnosti podaktovnih izvorov

  21. Podatkovni izvori • <asp:SqlDataSource> • SqlClient, OleDb, Odbc, Oracle, … • Uporablja nov ADO.NET DbProviderFactory • Podpora za ukaze in shranjene procedure • <asp:ObjectDataSource> • Povezava na poslovne objekte ali podatkovne komponente Visual Studia • <asp:AccessDataSource> • <asp:DataSetDataSource> • <asp:SiteMapDataSource> • <asp:XmlDataSource>

  22. <asp:GridView> <asp:DataGrid> <asp:DetailsView> <asp:TreeView> <asp:Menu> <asp:DataList> <asp:Repeater> <asp:DropDownList> <asp:BulletedList> <asp:CheckBoxList> <asp:RadioButtonList> <asp:ListBox> <asp:AdRotator> Podatkovno povezani kontrolniki

  23. Kontrolnik GridView • Podoben DataGridu ampak enostavnejši za uporabo • Podpira • Paging • Filtering • Updating • Deleting • Inserting • Medpomnenje (caching) preko podatkovnega izvora <asp:GridView DataSourceId=“MySource” AllowSorting=“true” AllowPaging=“true” runat=“server”/> <asp:SqlDataSource ID=“MySource” ConnectionString=“…” SelectCommand=“select pid, name, price from products” runat=“server”/>

  24. DEMO • Konfiguriranje podatkovnih virov • Kontrolnik GridView

  25. Izdelava spletnega projekta Uporaba predlog strani, tem in preoblek Trajanje: 15 minut Delo s podatki Kontrolnik GridView Kontrolnik DetailsView Trajanje: 10 minut VAJA 1 in VAJA 2 Po opravljenih vajah sledi odmor za kosilo, po kosilu pa vas čaka še več zanimivih tem

  26. VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI IZPOLNITE VPRAŠALNIK Z MALO SREČE DO BOGATIH NAGRAD

  27. 2124 ASP.NET 2.0

  28. ASP.NET 2.0 “opeke” Ponudniki ASP.NET 2.0 Razvijalsko ogrodje Role Manager Personalization Membership Site Navigation Management Database Caching Provider Model Design Pattern Windows SQL Server Lasten JET (Access)

  29. Navigacija • Enostaven način za upravljanje z navigacijo po spletnem mestu • Site Map • Opis logične strukture strani • Site Map OM • API za interakcijo s SiteMap • Site Map Datasource • Povezava s podatkovnimi kontrolniki • Site Map kontrolniki • Kontrolniki za prikazovanje navigacije

  30. Navigacijski kontrolniki • TreeView • Strežniški kontrolnik za prikaz hierarhije • Skrbi za skripte na odjemalski strani • Poskrbi za prilagodljiv uporabniški vmesnik na mobilnih napravah • Omogoča prilagoditve prikaza • Sličice vozlišč, drevesne strukture, … • Omogoča navigacijo in izbiro po Postback-u • Integrirano s SiteMapDataSource • Ustvarjanje vozlišč deklarativno, iz kode ali s povezavo na podatkovni izvor

  31. Navigacijski kontrolniki • SiteMapPath: • Lienarni pregled od korena • Ne potrebuje podatkovnega izvora • Objektni model • PathDirection: smer v kateri se izrisuje pot. • PathSeparator: Niz, ki ločuje dele poti • ParentLevelsDisplayed: število prikazanih nadrejenih nivojev.

  32. Navigacijski kontrolniki • Menu:

  33. Datoteka web.sitemap

  34. Datoteka web.sitemap <?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns= "http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode url="default.aspx" title="Domov" description=""> <siteMapNode url="Prva.aspx" title="Prva stran" description="" /> <siteMapNode url="Druga.aspx" title="Druga stran" description="" /> </siteMapNode> </siteMap>

  35. DEMO • Ustvarjanje datoteke web.sitemap • Uporaba kontrolnika TreeView za navigacijo • Uporaba kontrolnikov Menu in SiteMapPath

  36. Delo z uporabniki - varnost

  37. Članstvo • Membership • Rešuje probleme z varno hrambo prijavnih podatkov • Nadomešča kompleksno kodo za prijavo • Secure Credential Storage Services • Hash + salt za prijavne podatke • Nadomesti kompleksno kodo potrebno za varno hrambo • Upravljanje uporabniških računov • Validacija uporabnikov / kdo je prijavljen • Ponastavitev gesla s pomočjo vprašanja in odgovora

  38. Vgrajena administratorska stran

  39. Dodajanje novega uporabnika

  40. Določanje varnostnih pravil

  41. Kontrolniki za prijavo • Na voljo je bogat nabor kontrolnikov, ki omogočajo izvedbo osnovnih akcij brez pisanja kode

  42. Memberhip - APISystem.Web.Security • Upravljanje uporabnikov: • Preverjanje uporabnikov • Ustvarjanje, popravljanje, brisanje • Iskanje uporabnikov • Po uporabniškem imenu • Prijavljeni uporabniki • Upravljanje gesel • Ponastavitev gesla • Vprašanje/odgovor

  43. Razred MembershipUserSystem.Web.Security • Membership.UpdateUser() • Shrani lastnosti uporabnika • Dostop do uporabniških detajlov • Zadnja prijava • Zadnja sprememba gesla • Preprečevanje avtentikacije • IsApproved

  44. Ponudniki (Providers) • Načrtovalski vzorec Provider • Pluggable Data Access Layer (DAL) • Pluggable Business Logic Layer (BLL) • Vgrajena 2 Membership Providerja • SQL Server – produkcijske rešitve • Access – razvoj / testiranje • Identičen API • Model Provider je razširljiv • Ustvarjanje novih ponudnikov

  45. Role Manager • Role Manager • Rešuje mapiranje uporabnika v vloge • Nadomešča kompleksno avtorizacijsko kodo • Gradi na ASP.NET 1.X Role APIji • Ni vezan na Membership • Skupaj delujeta odlično, ampak… • Role Manager je lahko ločen

  46. Razred RolesSystem.Web.Security.Roles • Upravljanje vlog: • Ustvarjanje, popravljanje, brisanje • IsUserInRole / Roles • Dodajanje / brisanje • individualno • Dodajanje večih • iskanje • Vseh uporabnikov v vlogi • Vseh vlog za uporabnika

  47. DEMO • Vgrajena administratorska stran • Konfiguriranje varnosti spletnega mesta • Uporaba kontrolnikov za prijavo

  48. Spletni gradniki

  49. ASP.NET spletni gradniki • Gradniki dinamičnih spletnih strani • Uporaba v različnih spletnih scenarijih • Portal, vsebina, intranet, internet • Widnows ali Forms avtentikacija • Integracija z modelom ASP.NET kontrolnikov • Vsak strežniški kontrolnik je lahko spletni gradnik • Uporaba storitev ASP.NET • Personalizacija, upravljanje vlog, Membership, Profili, itd. • Vizualna podpora v času načrtovanja

  50. Kaj so zone? EditorZone WebPartZone

More Related