ASP.NET Web Forms. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Vad är Web Forms?



Relevanta dokument
ASP.NET Thomas Mejtoft

Sidrenderingsmodellen

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

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

INTRODUKTION TILL ANGULAR JS

Lektion 2, Grundläggande funktioner i ASP.NET

ASP.NET Web Pages. Copyright Mahmud Al Hakim Först lite Classic ASP :-)

Implementering av missade samtal i Attracs Online. Niklas Kuusisaari

Introduktion till ASP.NET 3.5

En integration av betalningssystem på hemsida

WINDOWS PRESENTATION FOUNDATION LEKTION 1

En bortsprungen katt

Räkna med ASP.NET Web Forms

F02 En första sida. Dagens agenda

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Objektorienterad programmering Föreläsning 2

HTML och CSS. Eric Elfving Institutionen för Datavetenskap (IDA)

Kursplanering Utveckling av webbapplikationer

<script src= "

Inledande programmering med C# (1DV402) Introduktion till C#

Objektorienterad programmering

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

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

Labora&on 7 Syfte med laborationen:

Joomla CMS Del 2 av 2

Björn Persson. Introduktion till ASP.NET

Objektorienterad programmering Föreläsning 6. Mer om klasser och typer Namnrymder Inkapsling Synlighet Statiska variabler Statiska metoder

Programmering A (DTR1207)

Innehåll. MySQL Grundkurs

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

Introducerande övningar i HTML

Skicka e-post direkt fra n W3D3 Diariet

Webbsidor och webbservrar

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

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#

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

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

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

F02 HTML. Föreläsning 2, HT2013 HTML. Kurser: Klientbaserad Webbutveckling 1DV435. Johan Leitet

EndNote online T5 hösten Camilla Persson

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Windows Forms Winstrand Development

Manual Söka ledig tjänst Landstinget i Östergötland. Senast reviderad

Uppdateringsguide v4 SR-3

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

21/01/2016. Stilmallar. styra utseendet av webbplatsen DEL 1. Karin Fahlquist. index.html. recept.html frukt.html grönsaker.html

Android översikt. TDDD80 Mobila och sociala applikationer

HTML och CSS. Eric Elfving Institutionen för datavetenskap. 18 augusti 2015

Högskolebiblioteket i Halmstad Manual för registrering av uppsats i DiVA

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Handledning för Exder Mobile

ANALYS OCH IMPLEMENTATION AV EPISERVER

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Labora&on 8 Formulär övningar/uppgi6er

Introduktion till PHP

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Nätet. Uppgiften. Nivå

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

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Manual för din hemsida

Gör så här för att rapportera:

PROGRAMMERINGSTEKNIK TIN212

Language Integrated Query, LINQ, och databaser

Att komma igång med FirstClass (FC)!

Kurs i programmering Java Uppgifter

Handbok KAppTemplate. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Pyramid Business Intelligence. Affärsinformation från Pyramid i din smartphone eller läsplatta (150225)

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

KAP 18 SQL SERVER AGENT

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Räkna med ASP.NET MVC 3

EndNote online. T5 ht 2015 Therese Nilsson/Camilla Persson

Objektorienterad programmering i Java I

JAVASCRIPT. Beteende

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

Mappar och filer för webbsidor

Webbteknik för ingenjörer

Datatal Flexi Presentity

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

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

DOTPROJECT Manual. Projektledare och administratör har tillgång till fler funktioner och mer information än andra roller i det webbaserade systemet.

Asp.net mvc intro PER KVARNBRINK,

Offentligt. Finlands Banks och Finansinspektionens skyddade e-post: anvisning för utomstående användare

en stor bokstav och en siffra. Lösenordet får inte innehålla några tecken (!,,#,%,&)

MANUAL FÖR UPPSATSADMINISTRATÖRER

Uppdateringsguide v6.1

Metoder (funktioner) Murach s: kap Winstrand Development

Skicka SMS/e-post påminnelser från Microsoft Excel

Sidan kommer inte läggas upp någonstans utan du redovisar den för mig på något handledningstillfälle.

Design av en webbportal Webbaserade användbarhetstester av programvaror eller tjänster åt Sandvik IT Services

Byalag.se Administrationsmanual

Enkel guide till hemsidan via IdrottOnline. Magnus Gunnarsson Mobil: E-post:

Arg-administratörens guide till Umbraco v 1.2.1

Handbok Kanagram. Danny Allen Översättare: Stefan Asserhäll

Bokningsbara resurser i Outlook/OWA

Omtentamen i OOSU2, 21 augusti 2014

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

Surfa till adressen och logga in med dina vanliga användaruppgifter.

Transkript:

ASP.NET Web Forms Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Vad är Web Forms? Web Forms är en del av ASP.NET ramverket. Web Forms är kontroll- och händelsestyrd programmeringsmodell (Event Driven Model). Web Forms innehåller ett antal serverkontroller (Server Controls). Serverkontroller är t.ex. HTML-kontroller (genererar standard HTML), webkontroller och valideringskontroller. Web Forms sparas i filer med filändelsen.aspx En sida som använder Web Forms måste innehålla en form-tagg (obs! Max en form). Copyright 2015 Mahmud Al Hakim www.webbacademy.se 2 ASP.NET Web Forms 1

Grunderna ASP.NET körs på webbservern. ASP.NET applikationer måste kompileras. En ny kompilering görs om källkoden ändrats. Request (get/post) Response IIS ASP.NET Copyright 2015 Mahmud Al Hakim www.webbacademy.se 3 Web Forms En grundmall <!DOCTYPE html> <html lang="sv"> <head> <meta charset="utf-8"> <title>web Forms En grundmall</title> </head> <body> <form id="form" runat="server"> </body> </html> Attributet runat="server Indikerar att kontrollen körs på serversidan Copyright 2015 Mahmud Al Hakim www.webbacademy.se 4 ASP.NET Web Forms 2

Web Forms Exempel 1 <% Hej.Text = "Hej Web Forms!" %> <!DOCTYPE html> <html lang="sv"> <head> <meta charset="utf-8"> <title>web Forms Exempel 1</title> </head> <body> <form id="form" runat="server"> <asp:label runat="server" id="hej"> </asp:label> </body> </html> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 5 Web Forms Exempel 2 <% datum.text = now() %> <!DOCTYPE html> <html lang="sv"> <head> <meta charset="utf-8"> <title>web Forms Exempel 2</title> </head> <body> <asp:label runat="server" id="datum"> </asp:label> </body> </html> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 6 ASP.NET Web Forms 3

Page-direktivet Standard programspråket som används i ASP.NET Web Forms är Visual Basic. Med hjälp av ett Page-direktiv längst upp i dokumentet kan du bl.a. definiera språk. <%@ Page Language="C#" %> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 7 Web Forms Events (händelser) Events i Web Forms påminner om C#-Events ASP.NET kan ju utnyttja hela C# Exempel på några vanliga händelser void Page_Load(object sender, EventArgs e) {... En händelse som körs automatiskt när sidan laddas!... void Knapp_OnClick(object Source, EventArgs e) {... En händelse som körs när man klickar på en knapp (obs! körs inte automatiskt, måste kopplas)... Copyright 2015 Mahmud Al Hakim www.webbacademy.se 8 ASP.NET Web Forms 4

Serverkontroller Web Forms HTML Controls Web Controls Validation Controls Alla serverkontroller, oavsett typ, ärver från basklassen Control som finns i System.Web.UI Copyright 2015 Mahmud Al Hakim www.webbacademy.se 9 HTML-kontroller - Exempel <%@ Page Language="C#" %> <script runat="server"> void Knapp_OnClick(object Source, EventArgs e){ Meddelande.InnerHtml="Hej Web Forms Events"; </script> <button id="knapp" onserverclick="knapp_onclick" runat="server"> Klicka här! </button> <div id="meddelande" runat="server"> </div> Button och div blir serverkontroller med runat="server" onserverclick kopplar händelsen Knapp_OnClick 10 ASP.NET Web Forms 5

Webbkontroller Exempel 1 <%@ Page Language="C#" %> <!DOCTYPE html> <html lang="sv"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <div> <asp:calendar runat="server" /> </div> </body> </html> Calendar är en populär ASP.NET Web Control Copyright 2015 Mahmud Al Hakim www.webbacademy.se 11 Webbkontroller Exempel 2 <%@ Page Language="C#" %> <script runat="server" > void Page_Load(object sender, EventArgs e){ Calendar1.SelectedDate = DateTime.Today; </script> Händelsen Page_Load körs automatiskt! <asp:calendar id="calendar1" runat="server"> </asp:calendar> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 12 ASP.NET Web Forms 6

Webbkontroller Exempel 3 <%@ Page Language="C#" %> <script runat="server" > void Page_Load(object sender, EventArgs e){ Calendar1.SelectedDate = DateTime.Today; Meddelande.Text = Calendar1.SelectedDate.ToShortDateString(); void Selection_Change(Object sender, EventArgs e){ Meddelande.Text = Calendar1.SelectedDate.ToShortDateString(); </script> <asp:label id="meddelande" runat="server"/> <asp:calendar id="calendar1" runat="server" OnSelectionChanged="Selection_Change"> </asp:calendar> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 13 Valideringskontroller Exempel 1 Namn<br> <asp:textbox id="namn" runat="server" /> <asp:requiredfieldvalidator ControlToValidate="namn" Text="Var god ange ditt namn" runat="server" /><br> E-post<br> <asp:textbox id="epost" runat="server" /> <asp:requiredfieldvalidator ControlToValidate="epost" Text="Var god ange din e-post" runat="server" /> <br> <asp:button runat="server" Text="Skicka" /> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 14 ASP.NET Web Forms 7

In-line och Code-behind Alla exempel som vi har kört hittills använder metoden In-Line Code. Man bäddar in programmeringslogiken såsom events i samma dokument. (kallas även single-file page model). Det är oftast bättre att separera C#-koden från HTML genom att skapa en separat C#- klass (cs-fil) som kopplas till aspx-sidan. Man skapar en s.k. Code-behind-fil. Copyright 2015 Mahmud Al Hakim www.webbacademy.se 15 Page och Code-behind En aspx-fil som innehåller Web Forms blir en klass som deklarerar själva webbformuläret. Denna klass ärver från en klass som deklareras i en Code-behind-fil som i sin tur ärver från basklassen Page. Page testsida.cs testsida.aspx Copyright 2015 Mahmud Al Hakim www.webbacademy.se 16 ASP.NET Web Forms 8

En Code-behind-fil (C#-fil) using System; public partial class Kalender : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Calendar1.SelectedDate = DateTime.Today; Meddelande.Text = Calendar1.SelectedDate.ToShortDateString(); protected void Selection_Change(Object sender, EventArgs e) { Meddelande.Text = Calendar1.SelectedDate.ToShortDateString(); Copyright 2015 Mahmud Al Hakim www.webbacademy.se 17 En renare ASPX-fil <%@ Page Language="C#" CodeFile="Kalender.cs" Inherits="Kalender" %> Här anges vilken Code-behind-fil som används Här anges vilken klass aspx-filen ärver från <asp:label id="meddelande" runat="server"/> <asp:calendar id="calendar1" runat="server" OnSelectionChanged="Selection_Change"> </asp:calendar> Copyright 2015 Mahmud Al Hakim www.webbacademy.se 18 ASP.NET Web Forms 9

Övningar Skapa ett kontaktformulär i ASP.NET Web Forms. Följande fält ska finnas med: Namn, E-post, Mobil, Fullständig Adress och en kryssruta som frågar användaren om man vill ha ett nyhetsbrev. Alla fält förutom krysrutan ska valideras och lämpliga felmeddelanden ska visas. Skicka inmatad data till en textfil. Tips! Använd System.IO.StreamWriter OBS! Glöm inte Server.MapPath() Copyright 2015 Mahmud Al Hakim www.webbacademy.se 19 ASP.NET Web Forms 10