Räkna med ASP.NET Web Forms

Relevanta dokument
Räkna med ASP.NET MVC 3

Frekvenstabell över tärningskast med C#

Frekvenstabell över tärningskast med C#

Lektion 2, Grundläggande funktioner i ASP.NET

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

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

Labb 1: Skapa en webbsite

Så här skriver du ditt första program i C++

Labb 1: Skapa en website

Lab 5: ASP.NET 2.0 Site Navigation

Lab 5: ASP.NET 4.5 Site Navigation

Labb 1: Skapa en webbsite

Laboration 1 Introduktion till Visual Basic 6.0

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

3.5 Visuell programmering

Labb 2: ASP.NET 4.5 Data Access

Sidrenderingsmodellen

ASP.NET Thomas Mejtoft

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.

Windows Forms Winstrand Development

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

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

Datorlaboration 0, Programmering i C++ (EDA623)

Datorövning 1. int sgd(int m, int n) { int rest; while ( n!= 0 ) { rest = m % n; m = n; n = rest; return m;

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

Lägga till bild i e- handeln

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

Kursplanering Utveckling av webbapplikationer

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

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

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

E07 "Greased Lightning"

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

Övning 1: Skapa virtuell maskin för utveckling.

Telia Centrex IP Administratörswebb. Handbok

Mappar och filer för webbsidor

Datorlaboration 0, Programmering i C++ (EDAF30)

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

Webbsidor och databaser i ASP.NET

Övning: Arbeta med Azure Explorer

Lab 2: ASP.NET 2.0 Data Access

Labora&on 2 HTML och validering övningar/uppgi:er

Redigera din personliga sida

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.

Instruktioner för Articulate Storyline 2

Extramaterial till Matematik Y

[ HUR DU UPPDATERAR FÖRSTASIDAN PÅ OTHELLO.NU ]

Lathund för att lägga in information på ovanaker.se Innehållsförteckning

Övning: Skapa en ny regel

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

Arg-administratörens guide till Umbraco v 1.2.1

Övning MS SQL och MVC del 2

Stationsregistret - användarhandledning

INSTÄLLNINGAR FÖR IRONCADS 2D-RITNING

Lab 6: ASP.NET 2.0 Providermodellen

INFORMATIONSMODELLERING

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Lathund för att lägga in information på ovanaker.se Innehållsförteckning

Alla rättigheter till materialet reserverade Easec

EXCEL 2010 FÖRDJUPNING

Labb 4: ASP.NET 2.0 Medlemskap, Inloggningskontroller, Rollhantering

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Instruktioner för Articulate Studio 13

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

E-posthantering med Novell Groupwise WebAccess

1. FORMULÄR. A. Skapa formulär

För att öppna galleriet, ange adressen

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

Webbprogrammering. Sahand Sadjadee

Malmö högskola 2007/2008 Teknik och samhälle

Kopplingar via datalänk från Winbas till Excel samt Pivottabell 1 (13)

Starta MySQL Query Browser

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Övningsuppgift. Repeterbara citat. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

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

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

Webbprogrammering - 725G54 PHP. Foreläsning II

Kurs 6:1 Att publicera på webben

1. Gå till redigeringsläge i Episerver, klicka på den sida som du vill ha ett formulär på. 2. Klicka på fliken Formulär.

Sophia Prosell DREAM WEAVER SKAPA OCH PUBLICERA EFFEKTIVA WEBBSIDOR

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

Gissa det hemliga talet

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Utbildning 1 Magento Webshop

Switch Driver 4. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Laboration 1. En första bekantskap med C++ Namn: Godkänd den: Rest:

Microsoft Visual Studio 2017

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

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

Skärmtangentbordet som är enkelt att använda både med mus, touchskärmar och interaktiva whiteboards

INSPIRA. Microsoft. PowerPoint Grunder

JAVASCRIPT. Beteende

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

Kom igång med Web Editor

BILAGA 5 Fi2Utrymmen Bilaga till CAD-kravspecifikation med förvaltningsinformation Version 1.0

Code-Lite tutorial ( /RoJ)

Steg 8 OpenOffice Presentation

Transkript:

Instruktion Räkna med ASP.NET Web Forms Introduktionsuppgift Författare: Mats Loock Kurs: ASP.NET Web Forms Kurskod:1DV406

Innehåll Du ska följa steg för steg -instruktionen i denna introduktionsuppgift och skapa en ASP.NETapplikation som kan addera två heltal en användare matar in i två textfält. 1. Starta Visual Studio 2010. Figur 1. 2. Du ska skapa en webbplats utan projekt, välj därför File New Web Site... Figur 2. 3. Dialogrutan New Web Site visas. Figur 3. a) Markera Visual C# under Installed Templates. b) Kontrollera så att.net Framework 4 visas i den nedrullningsbara listrutan. c) Markera ASP.NET Empty Web Site. d) Web Location ska vara File System och ange lämplig katalog för webbplatsens filer. 2011 Mats Loock 1DV406, ASP.NET Web Forms 2 (15)

4. Visual Studio skapar den nya webbapplikationen. Den nya webbplatsen innehåller endast filen web.config. Figur 4. 5. Högerklicka på projektets namn i fönstret Solution Explorer och välj kommandot Add New Item. (Visas inte fönstret Solution Explorer kan du visa det med menykommandot View Solution Explorer.) Figur 5. 6. Dialogrutan Add New Item visas. a) Välj Visual C# under Installed Templates. b) Välj Web Form. c) Se till att de står Default.aspx vid Name. d) Place code in separate file ska vara markerad. e) Select master page ska inte vara markerad. f) Klicka på knappen Add. Figur 6. Webbformuläret Default.aspx och dess code-behind -fil Default.aspx.cs skapas och läggs till projektet. 2011 Mats Loock 1DV406, ASP.NET Web Forms 3 (15)

Figur 7. 7. För att en användare av webbapplikationen ska kunna addera två tal använder du dig lämpligen av två textfält, med mellanliggande +-tecken, och en kommandoknapp. Dra ut två TextBox-kontroller (de renderas som textfält) från fliken Standard i fönstret Toolbox och placera dem i div-elementet som finns i det enda form-elementet. Det får bara finnas ett form-element och alla kontroller måste placeras i det. Dra även ut en Button-kontroll och placera den på lämpligt ställe. För att kunna presentera resultatet av additionen av talen använder du dig lämpligen av en Labelkontroll, som renderas ut som ett span-element. Figur 8. Då du lagt till en kontroll kan dess egenskaper redigeras med hjälp av fönstret Properties. Det är lämpligt att ge en kontroll ett beskrivande ID då det är ID:et du använder i code behind -filen för att referera till kontrollen. (Självklart kan du även redigera ID:et direkt i aspx-filen.) 2011 Mats Loock 1DV406, ASP.NET Web Forms 4 (15)

Figur 9. Om fönstret Properties inte visas kan du visa det genom att välja View Properties Window. 8. Då användaren klickar på kommandoknappen ska formulärets data skickas tillbaka till webbservern. Genom att skapa en hanterarmetod knuten till Button-kontrollens händelse Click sker en postback då användaren klickar på knappen. För att skapa en hanterarmetod till händelsen Click byter du från Source till Design. Du kan göra det genom att klicka på knappen Design eller genom att trycka Shift + F7. Figur 10. Markera sedan Button-kontrollen. Figur 11. Du kan skapa hanterarmetoden till händelsen Click på två sätt. Antingen dubbelklickar du på knappen eller så klickar du på knappen Events i fönstret Properties för att därefter dubbelklicka jämte Click. Figur 12. Oavsett vilken metod du väljer kommer Visual Studio att automatgenerera en hanterarmetod i code behind -filen Default.aspx.cs och därefter öppna filen. 9. Hanterarmetoden som genereras får ett namn sammanslaget av ID:et på kontrollen (ComputeButton) samt namnet på händelsen (Click), vilket resulterar i ComputeButton_Click. 2011 Mats Loock 1DV406, ASP.NET Web Forms 5 (15)

Figur 13. Det är i hanterarmetoden ComputeButton_Click du ska skriva koden du vill ska köras då användaren klickar på kommandoknappen. (Du behöver inte i den här applikationen bry dig om metoden Page_Load. Denna metod körs alltid då en sida genereras, oavsett om det är fråga om en get eller post.) Även Default.aspx modifierades då hanterarmetoden skapades. Genom attributet OnClick knyts kontrollen ComputeButton till hanterarmetoden ComputeButton_Click. Figur 14. 10. Textrutorna innehåller text som måste tolkas från text till heltal av typen int. Talen ska därefter adderas och summan presenteras med hjälp av Label-kontrollen. TextBox- och Label-kontroller har egenskapen Text som du använder dig av för att hämta respektive sätta textinnehållet i kontrollerna. Figur 15. 11. Hur många gånger har du hittills sparat de ändringar du gjort? Inte någon gång? Huuu! Hög tid att klicka på knappen Save All som sparar alla öppna filer som har osparade ändringar. Ta för vana att spara ofta. Ctrl + S, som sparar filen som har fokus, ska sitta i ryggmärgen. 12. Webbapplikationen är nu färdig att provköras. Du kan köra en applikation på flera olika sätt. Enklast är kanske att trycka Ctrl + F5, som startar applikation utan debug -läge. Då du kör en applikation startar automatiskt en inbyggd webbserver i Visual Studio och därefter öppnas sidan i den webbläsare som är vald som standard. 2011 Mats Loock 1DV406, ASP.NET Web Forms 6 (15)

Andra sätt att starta en webbapplikation är att välja Debug Start Without Debugging. Figur 16. Du kan också högerklicka på sidan du vill köra i fönstret Solution Explorer och välja View in Browser. Figur 17. Vill du ändra standardwebbläsare väljer du Browse With. Du har då en möjlighet att bestämma vilken webbläsare du vill använda och dessutom storleken som webbläsarfönstret ska ha. Figur 18. 13. Nu när applikationen är färdig(?) är det hög tid att testa den. Testa med värden du vet summan av. Figur 19. och klicka på kommandoknappen. Figur 20. Allt verka fungerar som det ska. Men det är nog bäst att du kontrollerar med några fler värden 14. Vad är det som händer då du klickar på kommandoknappen? Ett enkelt sätt för dig att ta reda på det är att använda dig av debuggern. Sätt en brytpunkt i början av hanterarmetoden genom att klicka till vänster om den i det gråa fältet i höjd med raden du vill att exekveringen ska stanna på. Figur 21. Andra sätt att skapa en brytpunkt är att trycka på F9 eller välja Debug Toggle Breakpoint. 2011 Mats Loock 1DV406, ASP.NET Web Forms 7 (15)

Du tar bort en brytpunkt genom att klicka på brytpunkten, trycka F9 eller välja Debug Toggle Breakpoint. Du kan också välja Debug Delete All Breakpoints, som tar bort alla brytpunkter. För att köra applikationen i debug -läge klickar du på knappen eller väljer Debug Start Debugging. i verktygsfältet, trycker på F5 Figur 22. 15. Första gången du debuggar visas dialogrutan Debugging Not Enabled. Klicka på OK för att godkänna att Visual Studio ändrar i konfigurationsfilen web.config. Figur 23. Det Visual Studio gör är att ändra ett attributs värde från false till true i filen. Figur 24. 16. Fyll i några värden i textrutorna och klicka på kommandoknappen. Exekvering stannar vid raden som är markerad med en brytpunkt. Du kan nu exempelvis inspektera variablers värden i fönstret Locals. Figur 25. Du kan även direkt i koden genom att hålla muspekaren över variabler eller egenskaper, som 2011 Mats Loock 1DV406, ASP.NET Web Forms 8 (15)

t.ex. Text, se vilka värden de har. Figur 26. 17. Vad händer om du anger något som inte kan tolkas som ett heltal av typen int? Figur 27. Ett undantag kastas av int.parse(op1textbox.parse) som ASP.NET fångar och sidan nedan visas. Figur 28. Ingen trevlig sida 1 att visa för en användare av applikationen. Självklart kan mycket lösas genom att validera datat innan det skickas till webbservern. Men fortfarande ska inte ovanstående sida visas om det kastas ett undantag. I konfigurationsfilen web.config kan du deklarera vilka sidor som ska visas då olika typer av fel inträffar. Elementet customerror saknas vilket är det första du måste åtgärda. Figur 29. Du kan ta hand olika typer av fel som inträffar. I detta fall kan du dock nöja dig med att ha en enda felsida som visas för alla fel. Felsidan kan ha vilket namn som helst, och vara placerad i vilken katalog som helst. I detta fall måste du skapa en HTML-sida med namnet GenericErrorPage.htm i roten på webbapplikationen. Högerklicka på applikationsroten och välj Add New Item. 1 Benämns gulful sida under kursen. 2011 Mats Loock 1DV406, ASP.NET Web Forms 9 (15)

Figur 30. Dialogrutan Add New Item visas. Välj HTML Page och ge sidan samma namn som det står i konfigurationsfilen web.config och klicka på Add. Figur 31. 18. Redigera den nya sidan så att den innehåller lämpligt meddelande. Figur 32. 19. Prova på nytt att ange något som inte kan tolkas som ett heltal av typen int. Figur 33. Konstatera att 2011 Mats Loock 1DV406, ASP.NET Web Forms 10 (15)

Figur 34...det inte förändrade någonting. Problemet är att i konfigurationsfilen web.config har attributet mode värdet RemoteOnly, vilket får till följd att du som utvecklare inte får se felsidan utan istället visas den av ASP.NET automatgenererade sidan. Figur 35. Genom att sätta mode till On visas din felsida. (Om du raderar RemoteOnly, har insättningspunkten mellan citattecknen och trycker Ctrl + Mellansslag visas fönstret med giltiga värden för attributet mode.) Figur 36. Provat du på nytt med ett värde som inte kan tolkas som ett heltal av typen int visas nu din felsida. Figur 37. Det är ett allmänt felmeddelande som inte ger användaren någon återkoppling vad som gick fel. Genom att använda validering av datat innan det skickas till webbservern kan du ge användaren bättre felmeddelanden. 20. Det finns i princip bara ett fel som kan inträffa i detta fall och det är att användaren matar in något som inte kan tolkas som ett heltal av typen int. Ur ASP.NET:s synpunkt är det två fel som kan inträffa. Användaren matar inte in något värde i ett eller båda textfälten. Användaren matar inte in ett eller två värden som inte kan tolkas som heltal. Du kan genom att använda dig av valideringskontrollerna RequiredFieldValidator och CompareValidator på ett mycket enkelt sätt validera datat både på klienten och på webbservern. 2011 Mats Loock 1DV406, ASP.NET Web Forms 11 (15)

Du hittar de valideringskontrollerna under fliken Validation i fönstret Toolbox. Figur 38 Dra ut och släpp kontrollerna i anslutning till respektive TextBox-kontroll. En valideringskontroll kan bara validera en annan kontroll, så i detta fall krävs det två RequiredFiledValidator-kontroller och två CompareValidator-kontroller. Figur 39. Hur RequiredFiledValidator- och CompareValidator-kontrollerna ska fungera bestämmer du med hjälp av deras egenskaper. Egenskaper du ska sätta för RequiredFiledValidatorkontrollerna är: Display sätts till Dynamic ErrorMessage sätts till Vänligen ange ett heltal.. ForeColor sätts till Red. Text sätts till *. ControltoValidate sätts till Op1TextBox respektive Op2TextBox. Egenskaper du ska sätta för CompareValidatorkontrollerna är: Display sätts till Dynamic ErrorMessage sätts till Vänligen ange ett heltal.. ForeColor sätts till Red. Text sätts till *. ControltoValidate sätts till Op1TextBox respektive Op2TextBox. Operator sätts till DataTypeCheck. Type sätts till Integer. Figur 40. Figur 41. 2011 Mats Loock 1DV406, ASP.NET Web Forms 12 (15)

Valideringskontroller använder sig av automatgenererade Javascript på klienten för att validera datat. Du behöver med andra ord inte skriva en enda rad Javascript för att validera på klienten. Felmeddelanden kan presenteras på klienten på olika sätt. För att visa en dialogruta med felmeddelanden använder du dig av kontrollen ValidationSummary. Var i form-elementet kontrollen placeras har i detta fall ingen betydelse eftersom dess uppgift är att visa en dialogruta. Figur 42. För att visa en dialogruta måste du ändra på två egenskaper. Egenskapen ShowMessageBox måste du sätta till True och ShowSummary måste du sätta till False. Innehållet i dialogrutan bestäms av vad egenskapen ErrorMessage har för värde i de tidigare valideringskontrollerna. Figur 43. Provkör du nu (och tillåter JavaScript!) visas dialogrutan om ett ogiltigt värde har angivits. Figur 44. 21. Du måste även se till att verkligen arbetar med data som är validerat även på servern. Du behöver inte skriva något på servern heller, så när på att du måste undersöka om datat klarat valideringen eller inte. Har egenskapen IsValid värdet true har formulärdatat klarat valideringen. 2011 Mats Loock 1DV406, ASP.NET Web Forms 13 (15)

Figur 45. Hanterarmetoden ComputeButton_Click körs alltid, oavsett om datat klarat valideringen eller inte. Därför måste du alltid undersöka om egenskapen IsValid är true innan du på något sätt hanterar datat. Nu fungerar valideringen även på servern och inga undantag kommer att kastas även klienten inte tillåter JavaScript (någon dialogruta visas dock inte då eftersom det måste till ett JavaScript som gör det, men den röda asterisken visas). 22. Visual Studio 2010 erbjuder ett antal olika verktyg du kan använda för att styla till dina sidor. För att sätt textfältens bredd till 30 pixlar kan du markera den första TextBox-kontrollen och använda dig av fönstret Manage Styles. Syns inte fönstret kan du visa det genom att välja View Manage Styles. Klicka på New Style i fönstret Manage Styles. Figur 46. Dialogrutan New Style visas. Figur 47. 1. Ange lämpligt namn vid Selector. 2. Se till att det står New Style Sheet vid Define in. 3. Kryssrutan Apply new style to document selection ska vara markerad. 4. Markera Position under Category och ge width värdet 30 px. 2011 Mats Loock 1DV406, ASP.NET Web Forms 14 (15)

5. Klicka på OK. 6. Klicka Yes i dialogrutan som visas. Figur 48. 7. Visual Studio skapar filen StyleSheet.css. och länkar in den i Default.aspx. Figur 49. 8. TextBox-kontrollen som var markerad har fått egenskapen/attributet CssClass satt till värdet op. Figur 50. (Se även till att den andra TextBox-kontrollen får CssClass satt till op.) 23. Provkör och se till att allt fungerar på det sätt du vill. Applikationen är långt från fulländad men förhoppningsvis har du nu fått en liten introduktion till vad ASP.NET Web Forms handlar om. I kurslitteraturen hittar du mycket mer information om de olika saker som tagits upp under denna kortfattade introduktion. Under kommande föreläsningar kommer du självklart också få mer fördjupad information. 24. Har du tid över? Varför då inte komplettera webbapplikationen så användaren kan välja vilket räknesätt som ska användas från en DropDownList-kontroll. 2011 Mats Loock 1DV406, ASP.NET Web Forms 15 (15)