1 / 56

ASP.NET 2.0

ASP.NET 2.0. Dušan Zupančič KOMPAS Xnet d.o.o. Vozni red. Uvod Kaj potrebujemo za delo Novosti, ki jih prinaša ASP.NET 2.0 Predloge strani in teme Delo s podatki ASP.NET 2.0 podporni razredi Navigacija Članstvo in vloge. Zakaj ASP.NET 2.0?.

amara
Télécharger la présentation

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. ASP.NET 2.0 Dušan ZupančičKOMPAS Xnet d.o.o.

  2. Vozni red • Uvod • Kaj potrebujemo za delo • Novosti, ki jih prinaša ASP.NET 2.0 • Predloge strani in teme • Delo s podatki • ASP.NET 2.0 podporni razredi • Navigacija • Članstvo in vloge

  3. 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

  4. Standardi spletnih rešitev so danes precej višji

  5. Kaj potrebujemo za delo • Kot v prejšnjih različicah je dovolj internetni strežnik, .NET Framework 2.0 in Notepad  • Za resno delo: • Visual Studio .NET 2005 • Na voljo v več različicah • Za razvoj spletnih rešitev je na voljoVisual Web Developer 2005 – VWD 2005

  6. 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

  7. DEMO: VWD 2005

  8. Glava Navigacija Vsebina Noga Spletne strani danes

  9. Predloge strani (Master Pages) • Enostavna uporaba predlog uporabniškega vmesnika • Vsebuje: • Postavitev strani (HTML) • Vsebina (glava, noga, HTML, ASP.NET gradniki) • Področje kjer se bo izrisala vsebina izvedenih strnai • Prednosti: • Poenoten design spletnega mesta • Dobra podpora za vizualno načrtovanje v VWD 2005

  10. V času načrtovanja moj.master Default.aspx <%@ Master %> <%@ Page Master=“moj.Master” %> Glava <asp:Content ContentPlaceHolderId=vsebina /> Navigacija <asp:ContentPlaceHolder Id=vsebina /> Noga

  11. V času izvajanja Glava Navigacija Vsebina strani Default Noga • Vsebina strani Default.aspx zamenja contentPlaceholder definiran na predlogi

  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 • Vsebuje • Preobleko (skin): • Nabor lastnosti, ki jih uporablja eden ali več kontrolnikov nekega tipa • Stil • Datoteke CSS • Sredstva • Datoteke • Predloge (Master Pages)

  14. Teme • Teme aplikacije • Podimenik \themes • Ime teme je določeno z imenom imenika • Globalne teme • Privzeto nameščene • V imeniku ogrodja .NET • <WINDIR>\ASPNET_Client\system_web\2_0_*\themes • Vgrajene teme • Basic Blue – enostavna tema brez CSS • Smoke and glass – z uporabo CSS

  15. Kako ustvarimo temo • Ustvarimo podimenik “themes” • V okviru prejšnjega ustvarimo podimenik z imenom teme • Dodamo datoteke .skin in ostale potrebne datoteke

  16. Kako ustvariti datoteko .skin • V imeniku s temo ustvarimo novo besedilno datoteko s končnico .skin • Dodamo definicije na nivoju kontrolnikov • Lastnosti • Predloge • Zbirke • Za določen kontrolnik lahko ustvarimo alternativne izglede • Definiramo lastnost SkinId <asp:TextBox BackColor="Orange" ForeColor="DarkGreen" Runat="Server" />

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

  18. DEMO – Predloge in preobleke

  19. 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

  20. Vrste podatkovnih kontrolnikov Podatkovnabaza Podatkovno povezani kotnrolik <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

  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> Data-Bound Controls

  23. Kontrolnik GridView • Podoben DataGridu ampak enostavnejši za uporabo • Podpira • Paging • Filtering • Updating • Deleting • Inserting • Caching via DataSource <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. DetailsView Control • Similar to Form View UI in Microsoft Access • Useful as details portion of a Master-Details page • Renders a single data item at a time • Can also page over multiple items • Similar object model to GridView • Supports Updating, Deleting • Supports Inserting <asp:DetailsView DataSourceId=“MySource” AllowPaging=“true” HeaderText=“Current Customer” runat=“server”/> <asp:ObjectDataSource Id=“MySource” TypeName=“CustomersComponent” SelectCommand=“GetCustomers” runat=“server”/>

  25. New ASP.NET Whidbey “Building Block” APIs Providers ASP.NET 2.0 Developer Stack Role Manager Personalization Membership Site Navigation Management Database Caching Provider Model Design Pattern Windows SQL Server Custom JET (Access)

  26. 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

  27. Navigacija po spletnem mestu User Interface SiteMapPath Data Bound controls <asp:treview /> SiteMapPathDataSource Application Programming Interface Site Map Provider Model Design Pattern Data Storage User Defined XML File App.Sitemap

  28. 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

  29. Site Navigation Controls • TreeView

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

  31. Navigacijski kontrolniki • Menu:

  32. Č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

  33. Članstvo - 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

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

  35. 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

  36. 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

  37. 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

  38. Kontrolniki Login • Enostavna integracija <asp:login /> <asp:loginname /> <asp:loginstatus /> <asp:loginview /> <asp:passwordrecovery /> <asp:createuserwizard /> <asp:changepassword />

  39. 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

  40. Zone: Layout EditorZone WebPartZone

  41. Zone: Layout Zone ToolZone WebPartZoneBase Edit mode Catalog mode Connection mode All modes CatalogZone EditorZone ConnectionZone WebPartZone

  42. Part: Content • Any ASP.NET server side control or user control behaves as a Web Part • System.Web.UI.WebControls.WebPart base class provides common code for Web Part behavior • Define on how the user interact with the Web Part • Add custom verbs • Define Icon for the title and catalog • Built-In part controls to enable functionality in a zone

  43. Part: Content Part WebPartZone “All Modes” EditorZone “Edit Mode” WebPart EditorPart CatalogZone “Catalog Mode” CatalogPart BehaviorEditorPart GenericWebPart AppearanceEditorPart ImportCatalogPart PropertyGridEditorPart PageCatalogPart LayoutEditorPart TemplateCatalogPart

More Related