Lektion 2, Grundläggande funktioner i ASP.NET



Relevanta dokument
ASP.NET Thomas Mejtoft

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Räkna med ASP.NET Web Forms

ASP.NET Web Forms. Copyright Mahmud Al Hakim Vad är Web Forms?

NU! NU! Bygg en webbplats NU! Bygg en webbplats. Swedish Language Edition published by Docendo Sverige AB. Bygg en webbplats.

Lab 5: ASP.NET 2.0 Site Navigation

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Labb 1: Skapa en website

Labb 1: Skapa en webbsite

Windows Forms Winstrand Development

Labb 3: ASP.NET 4.5 Anpassningar av användargränssnittet: Master Pages, Teman, och Kontroller

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Komponenter med COM (och COM+/VC++ 7.0)

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Labb 1: Skapa en webbsite

Lab 5: ASP.NET 4.5 Site Navigation

Innehåll. Dokumentet gäller från och med version

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Pyramid Business Intelligence. Affärsinformation från din Pyramid till din iphone eller ipod (100913)

Datorlaboration 0, Programmering i C++ (EDAF30)

Felsökning av vanliga fel Kontrollera installera version Innehållsförteckning

Datorlaboration 0, Programmering i C++ (EDA623)

Instruktion för användande av Citrix MetaFrame

Välkommen som användare av medietekniks och informatiks publika studentserver

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

LATHUND INSTALLATIONSANVISNINGAR PROJEKTSTRUKTUR 1 SAMMANFATTNING FUNKTIONER I INSTALLATIONSPAKET TEKNISK PLATTFORM...

Design Collaboration Suite

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Webbtjänster med API er

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Statistiska centralbyrån

Lathund för Novell Filr

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Drag och Släpp & Spara till Server. Säkerhetsinställningar. Version 5.0

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

Arbetshäfte Office 365 en första introduktion

Omtentamen i OOSU2, 21 augusti 2014

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

Övning: Arbeta med Azure Explorer

Dynamiska webbsystem. Ajax

Startanvisning för Bornets Internet

FLEX Personalsystem. Uppdateringsanvisning

1 Översikt Vad är kontokoder? Konto/Mapp uppbyggnad Tillgång till Kontokoder Område Kontokoder...5

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Kom igång med Web Editor

Vision WEB Komma igång med Electrolux Webbokning Windows Server 2012 R2 8/31/2017

får Office att göra mer

Office 365 MB. Innehåll. Inledning / Inställningar Outlook (e-post) Kalender Personer (kontakter)... 5 OneDrive molnet... 5.

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Författare Version Datum. Visi System AB

Ja, men resultatet blir inte lika bra. Det är att skapa genvägsikoner. Se anvisningar nedan:

Installationsanvisningar. till IST Analys

3. Hämta och infoga bilder

Biometria Violweb. Kom-igång-guide. Mars Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

INSTALLATION AV VITEC MÄKLARSYSTEM

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Flytt av. Vitec Mäklarsystem

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Installera din WordPress med 9 enkla steg

Installationsanvisningar

Webbokning Windows 7,8.1 &10 Installationsmanual

Webmail instruktioner

Lab 6: ASP.NET 2.0 Providermodellen

Microsoft Visual Studio 2017

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

Lathund för BankID säkerhetsprogram

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB

Slutrapport för JMDB.COM. Johan Wibjer

Installationsguide, Marvin Midi Server

Snabbguide Visma Compact API Copyright Visma Spcs AB

Myndigheten för samhällsskydd och beredskap 1 (10) Datum Installationsguide ROPA

Du har fått en fil som heter Tryckhusets ftp.xml Denna kommer nu att användas. Lägg den exempelvis på ditt skrivbord.

Förändringar i v4 SR-3

AVCAD 4.0 för Windows

Introduktion. Markera den gröna bocken. Skriv in URL:en Klicka på knappen Platser.

Installationsmanual ImageBank 2

Användarmanual Onepix MDX Installer 1.1 SVENSK

Installationsmanual för OnCourse

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

Language Integrated Query, LINQ, och databaser

Zimplit CMS Manual. Introduktion. Generell Information

Webbtjänster med API er

Arg-administratörens guide till Umbraco v 1.2.1

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail.

1. Säkerhetskopiera den eller de byråer du har arbetat med via i Visma Klient.

Välkommen till Dropbox!

Installationsanvisning för Su Officemallar 2011 För Mac Word och PowerPoint

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

Dokument i klassens aktivitet

Vaka Användarmanual. Användarmanual. VAKA Passersystem

Introduktion. Skriv in användarnamn och lösenord

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Transkript:

Lektion 2, Grundläggande funktioner i ASP.NET Lektionen behandlar kapitlen 3 och 4 i kursboken. Application och Page Framework Med Visual Studio 2005 levereras ett antal inbyggda verktyg bland annat SQL Sever Express och en enklare webbserver. Vi kommer att användas oss av den inbyggda webbservern i våra inlämningsuppgifter. Den inbyggda webbservern är även default server när du utvecklar i Visual Studio 2005. Detta har den fördelen att vi slipper bekymra oss om att etablera kontakt med en extern webbserver. Den inbyggda webbservern Den inbyggda webbservern är default i Visual Studio 2005. Default placering av webbprojekt är C:\Documet and Settngs\(användare)\Mina Dokument\Visual Studio 2005\Web Sites\. Detta innebär att projektet placeras i profilen och om projekten blir stora så kommer det i sin tur att innebära att inloggning på datorn kommer att gå långsammare. Placering av projekten kan ändras genom att klicka på Browse knappen i Choose Location dialogen när du skapar en ny website. I Choose Location kan du även välja viken webbserver projektet skall sparas för. Det är alltså här du kan välja en annan webbserver än den inbyggda. Ute till höger finns fyra knappar för att välja antingen den inbyggda webbservern, Lokal IIS server, FTP site eller Remote Site. Lokal IIS är den webbserver som följer med Windows 2000 pro, XP pro och Windows 2003 server (samt vissa versioner av Vista). Med knappen FTP Site väljer du en webbserver annan än din lokala maskin som har stöd för FTP. Personligen föredrar jag att utveckla på lokal maskin och FTP a upp den färdiga applikationen i efterhand. Den fjärde knappen, Remote Site använder Frontpage Server Extentions för att kommunicera med en extern webbserver. Detta förutsätter att fjärrservern har detta installerat. Min personliga erfarenhet är att det ofta innebär mer problem än det löser att göra på detta sätt. 1

Partial classes Asp.net 2.0 är byggt på.net framework 2.0 och kan därför dra nytta av dess egenskaper. En av dessa egenskaper är möjligheten att använda partial classes. Detta delar upp koden i flera filer som sedan sammanställs vid kompilering. inline coding I tidigare versioner av Visual Studio.NET förutsattes att all kod skulle placeras i code behind filer. Detta har nu Microsoft, efter påpekanden från utvecklare, ändrat på. I version 2005 är detta faktiskt väldigt enkelt. Man ser helt enkelt till att rutan Place code in Separate File inte är ikryssad när man skapar projektet. De flesta typer av ASP.NET filer kan kodas inline men inte alla. Code Behind Version 2.0 jobbar på ett annat sätt med code behind. Hela iden med code behind är att skilja presentation från logik (kod). Detta gör det enklare att jobba med filerna var för sig och om man jobbar i team där olika personer arbetar med presentation och logik, detta underlättar mycket. Code behind filen får automatiskt samma namn som den aspx fil som den tillhör ex. Default. Aspx får en code behind med namnet Default.aspx.cs. Visual Studio lägger bara till filändelsen för aktuellt språk efter.aspx, i vårt fall.cs för C#. När man använder code behind skapas ett antal attribut till ett direktiv i ASP filen. Raden brukar se ut ungefär så här <% # @Page Language= C# CodeFile= Default.aspx.cs Inherits= Default_aspx %> Det första attributet, Language anger att vi använder oss av C# som språk. Andra attributet CodeFile talar om vad vår kodfil heter. Det tredje attributet anger vilken klass koden skall bindas till vid kompilering. ASP.NET Page Directives Vi såg nyss exempel på ett page directiv. Vi skall nu titta närmare på vad det är. Med Page Directives styr vi funktionen hos en ASP sida. Det finns totalt 11 st Page directiv där @Page är ett av dem. Varje directiv har ett antal möjliga attribut. @Page har t.ex. 37 olika attribut. På sidorna 56 57 (68 78) i boken finns alla direktiv och dess attribut listade. De vanligaste direktiven är @Page, @Master, @Control och @Import. ASP.NET Page Events Event är något som man hela tiden använder sig av som ASP.NET utvecklare. Varje händelse triggar ett event. Om du tex klickar på en knapp på en ASP.NET sida så triggas eventet button_click. Page Event är event som triggas av att en sida laddas eller förstörs. Vanligast är att man vill använda sig av page_lood eventet för att utföra något när sidan laddat färdigt men det förekommer även att man använder andra page event. De page event som finns presenteras på sidorna 66 67 ( 78 79) i boken. Page eventen för huvudsidan inträffar i följande ordning: 1. PreInit 2. Init 3. InitComplete 4. PreLoad 5. Load //nu är sidan laddad 6. LoadComplete 7. PreRender 2

8. PreRenderCompete 9. UnLoad //sidan förstörd Post Back När man skapar interaktiva ASP.Net sidor jobbar man normalt med post back. Dvs. data från sidan skickas tillbak till samma sida där den behandlas. Man vill därför oftast hålla reda på om ett anrop till en sida är det första eller om det är en post back. Detta kan kontrolleras genom att undersöka egenskapen IsPostBack. ex. if(page.ispostback == True) { //Processa kod } Detta är bara ett exempel på användning men det finns fler. Cross Page Posting Något som många utvecklare som jobbat i klassisk ASP har saknat i version 1.0 och 1.1 av ASP.NET är möjligheten att posta till en annan sida, till skillnad från Post Back. I version 2.0 har man återinfört denna möjlighet. Detta är enkelt och man använder sig av egenkapen PostBackUrl. Se litning 3 9 och 3 10 i boken. Titta då på egenskaperna (attributet) till Button2. I detta exempel har man skapat en sida med två knappar, en textbox och en kalender. Button1 gör en vanlig Post Back medan Button2 postar till page2.aspx. Nästa steg är att hämta upp det data som postats till page2. Detta kan göras på minst ett par olika sätt. I listing 10 använder man PreviusPage.FindControl. Detta är nödvändigt då kontrollen är privat. Ett annat sätt är att göra kontrollen på page1 publik som i listing 3 11, 3 12 raderna public Textbox... och public Calendar Kontrollerna kan då ses direkt av page2. Observera att vi då måste typa page1 för att det skall fungera, <% @ PreviusPageType VirtualPath= Page1.aspx %>. Även vid Cross Page Posting är vi intresserade av att veta om sidan har accessats direkt eller via Cross Page. På motsvarande sätt som för Post Back men för egenskapen IsCrossPagePostBack. Subfoldrar (mappar) i ditt ASP.NBET projekt Antalet foldrar och filer i ett asp.net projekt är obegränsat. Några subfoldrar i ditt asp projekt är dock reserverade för speciella filer. För att skapa foldrarna, högerklicka i Sulution Explorer, välj Add New Folder folder tex App_Code Foldrar: \App_Code Här spara du dina klassfiler. Filerna blir automatiskt tillgängliga för hela applikationen. Allt som sparas här detekteras automatiskt av Visual Studio 2005 och kompileras om det är en klass (.cs). \App_Data En platts att centralt spara dina datafiler. ex. SQL Express (.mdf), Access (.mdb) eller XML (.xml). Användarkontot (ASP.NET kontot)för din applikation har läs och skriv rättigheter här. \App_Thems Här sparar du dina teman med tillhörande filer (.skin,.css ) och bilder. 3

\App_GlobalResourses Globala resurser (ex. lista för multilanguage). \App_LokalResourses Som ovan men för en viss aspx fil \App_WebReferences Referenser till remote webservices Kompileringsprocessen När en ASP.NET sida för första gången efterfrågas vidarebefordras den till ASP.NET parsern som skapar klasser i valt språk som sedan kompileras till en DLL som sparas på webbserverns disk. DLL en körs och det skapas ett svar (responce) skapas som skickas tillbaka till den webb klient som efterfrågat resursen. Detta tar en del tid och gör att applikationen kan upplevas som långsam. Vid andra förfrågan efter samma resurs är gången dock en annan förutsatt att inga förändringar gjorts i applikationen. I stället för att gå igenom hela processen anropas i stället den färdiga DLL en som körs. I ASP.NET 2.0 har det även införts möjligheter att köra pre compile på en hel site direkt vid deployment av siten. Då behöver aldrig besökaren uppleva den fördröjning som kommer av kompileringen. 4

ASP.NET Serverkontroller Vad är en server kontroll? Serverkontroller är komponenter som innehåller viss funktionalitet som du önskar implementera på sidan. Med en server kontroll bestämmer vi funktionaliteten utan att behöva tänka på vilken webbläsare klienten har, detta tar serverkontrollen hand om åt oss och anpassar den genererade koden efter detta. Två huvudgrupper av kontroller Det finns två huvudgrupper av kontroller, HTML Server kontroller och Web Server kotroller. HTML serverkontroller mappar direkt mot HTML element medan Web server kontroller beror av sammanhanget de placerats i. Ex: en htmltable mappar mot HTML s table medan en web asp:panel kan använda en <table> eller en <iframe> beroende på vad som passar den anropande webbläsaren bäst. Använd: HTML kontroller när du konverterar klassisk ASP kod du efterstävar en mer HTML lik lösning. du vill vara helt säker på vilken kod som levereras till webbläsaren. Web server kontroller du riktar dig till olika browsers du vill ha mer funktionalitet Koda serverkontroller Tidigare har vi sett hur vi kan dra och släppa kontroller i design vyn. Detta är även möjligt i source vyn. Dra en kontroll från verktygsfältet och släpp den på rätt ställe in koden. Om du markerar en kontroll i design vyn och sedan byter till source vyn så är den även markerad där. Att jobba med event ASP.NET är ett händelsestyrt system, en händelse triggar en särskild funktionalitet hos applikationen. Vi har redan sett att man kan komma till direkt koden för en händelsehanterare genom att dubbelklicka på en konroll. Ett skal för eventet skapas där vi kan placera vår kod. Det finns en mängd andra event än de som visas by default. Längst upp i source vyn finns två dropp down lister. Den första väljer kontroll och den andra väljer event. Här kan du se en del av de event som finns. Ett annat sätt att lägga till ett event för en kontroll är att göra det från Propertis fönstret. Markera den serverkontroll du jobbar med 5

i design vyn och klicka på event knappen (blixt symbolen) i Properties fönstret och du får en lista över tillgängliga events. Att styra kontrollernas utseende Ett sätt att styra hur serverkontroller ser ut på den färdiga sidan är att ändra useende genom att ändra egenskaper i Properties fönstret. Det mesta går att ändra vad gäller utseende men personligen använder jag hellre CSS style sheets. Visual Studio 2005 har ett verktyg för att skapa Stle Sheets, Style Builder. För att aktivera Style Builder, högerklicka på det objekt du vill ange style för och klicka på Style i menyn. Externa Styles När du skall skapa ett externt style sheet högerklickar du på rotkatalogen för din webbsite, väljer New item i meny. I den följande menyn väljer du Style Sheet. Nu skapas en kodfil för CSS med intelisense. För att koppla CSS filen till aspx filen kan du antingen välja egenskapen för DOCUMENT och där välja sökvägen till din CSS. Ändå enklare är att helt enkelt dra Style Sheetet från sulotion explorer och släppa den i dokumentet. Exempel på ett externt style sheet ses i listing 4 4. HTML serverkontroller HTML serverkontroller mappar direkt mot html element. När du drar en html serverkontroll tillsidan så blir den inte automatiskt en server kontroll. För att göra den till en serverkontroll kan du antingen högerklicka på objektet och välja Run as server Control en liten grön triangel dyker upp på komponenten i design vyn för att visa att det är en serverkontroll. 6

I source vyn kan du helt enkelt lägga till argumentet runat= server. Alla Html kontroller ärver från klassen HhtmlControl och ärver därmed även egenskaperna från denna klass. För den som är mer intreserad finns information i SDK. HtmlContainerControl används för element som saknar sluttagg, ex <img>, <input> och <linc>. Två viktiga element i htmlcontainercontrol är inerhtml och inertext. Alla HTML kontroller finns listade i boken sid 111 112 (129 130). htmlgenericcontrolclass ger tillgång till element som man normalt inte når programatiskt, tex <meta>, <p> och <span> 7