Web-Technologien. Fachbereich AI, Web-Technologien 1



Ähnliche Dokumente
Web-Technologien. Inhalt

Web-Technologien. Fachbereich AI, Web-Technologien 1

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Java Server Pages (JSP)

Meine erste Homepage - Beispiele

Datenbanksysteme SS 2007

Aufgaben HTML Formulare. Prof. Dr. rer. nat. Claus Brell, Wirtschaftsinformatik, Statistik

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

ASP: Active Server Pages

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP MVC. Dr. Christian Senger. PHP MVC 1 von 21

6.9 Java Server Pages

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Web-Technologien. Fachbereich AI, Web-Technologien 1

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Programmieren 2 (Prof. Hasbargen) Klausur

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

Grundlagen der Informatik 2

Java Webentwicklung (mit JSP)

Microsoft.NET & IBM System i - Webanwendungen mit AJAX - I Christian Neißl,

Signatur mit Formatierung

Internet und WWW Übungen

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

SSO-Schnittstelle. Inhalt: Beschreibung der Single Sign-On (SSO) Schnittstelle. NetSlave GmbH Simon-Dach-Straße 12 D Berlin

Schiller-Gymnasium Hof

HTML Teil 2. So kann man HTML-Seiten mit <div> und CSS gestalten. So sehen einfache Formulare aus

Leseprobe. Webseiten entwickeln mit ASP.NET

Formulare in html Bernd Bl umel Version: 1. April 2003

WPF Steuerelemente Listbox, ComboBox, ListView,

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Java Server Pages 2 und Benutzerdefinierte Tags. Strahil Yordanov

Erstellen eines HTML-Templates mit externer CSS-Datei

Lokale Installation von DotNetNuke 4 ohne IIS

Java zur Realisierung von Internetanwendungen

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

PHP JavaScript Kapitel 9. Java-Script-Objekte und das Event-Modell

Einführung in PHP. (mit Aufgaben)

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Funktionen in PHP 1/7

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

GEONET Anleitung für Web-Autoren

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Einführung in die Scriptsprache PHP

Datensammelpunkt Kreismedienzentrum Reutlingen

Dokumentation für Popup (lightbox)

Dynamische Webseiten mit PHP 1

for ($i=1 ;$i<=25 ;$i++) { echo "$i "; }?> <br> <a href=" zur Index-Seite</a> </body> </html>

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Copyright by HMS GmbH. All rights reserved.

Entwicklung einer Suchmaschine mit dem Internet Information Server

Multimedia im Netz Wintersemester 2011/12

Übungen zur Softwaretechnik

Mini-Dokumentation zur Bearbeitung der Website massweiler.de

Projekt Online-Shop:

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

BFV Widgets Kurzdokumentation

Online Banking System

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum:

Dokumentation Externe Anzeige von Evento Web Dialogen

Autoresponder Unlimited 2.0

DIMDI SmartSearch. MySmartSearch. Einrichtung eines individuellen Direkteinstiegs. Ausgabe 1.3 vom 14. Januar Waisenhausgasse 36-38a Köln

ASP: Active Server Pages

PHP Einsteiger Tutorial Kapitel 4: Ein Kontaktformular in PHP Version 1.0 letzte Änderung:

Webseiten entwickeln mit ASP.NET

Webbasierte Informationssysteme

Internet Explorer Version 6

Einführung in die Programmierung

FileMaker und PHP Workshop

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

esms - sms senden & empfangen mit Outlook

Einleitung JavaServer Pages Erweiterungsmechanismen Beispiel Fazit. JavaServer Pages. Seminar Webprogrammierung WS04/05. Timothy Burk. 6.

Existierende Systeme I Bibliotheken & Frameworks

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Applications Applets (eingeschränkte Rechte)

Java - Webapplikationen

Faclets. Eine alternative View Technologie um JSF Applikationen OHNE JSP zu entwickeln Wird unter java.net gehostet Open Source, CDDL Lizenz

(TWS) Microsoft JScript für den Hobby-Programmierer Objekt window.document.form.input Seite 1 von 11

Einführung in die Informatik Tools

FH D Fachhochschule Düsseldorf University of Applied Sciences. FB 3 Fachhochschule Düsseldorf University of Applied Sciences

JSP Grundlagen. JEE Vorlesung Teil 5. Ralf Gitzel

Step by Step Webserver unter Windows Server von Christian Bartl

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Herzlich willkommen im Modul Web-Engineering

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Propädeutikum zur Programmierung

Online-Publishing mit HTML und CSS für Einsteigerinnen

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Di 8.4. Silverlight: Windows Presentation Foundation für s Web. Christian Wenz

Hochschule Darmstadt Fachbereich Informatik

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Transkript:

Web-Technologien Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich AI, Web-Technologien 1

Inhalt 1. Einleitung 2. PHP (OOP, I/O, Datenbanken) 3. ASP.net: Web-Forms (kurz) 4. ASP.net: MVC 5. jquery 6. Ajax 7. Java (wenn Zeit vorhanden ist) Fachbereich AI, Web-Technologien 2

Lernziele Kennenlernen der verschiedenen Techniken für Webserver PHP JSP ASP: WebPages ASP: WebForms ASP: MVC Zusätzliche Techniken Ajax jquery HTML 5 und CSS3 JSON (JavaScript Object Notation) Fachbereich AI, Web-Technologien 3

Literatur Einstieg in PHP 5.5 und MySQL 5.6 Thomas Theis, Galileo Computing ISBN: 978-3-8362-2489-5 PHP für Fortgeschrittene Harry Fuecks, dpunkt.verlag ISBN: 3-89864-300-X Professionelle Softwareentwicklung mit PHP 5 Sebastian Bergmann, dpunkt.verlag ISBN: 3-89864-229-1 Fachbereich AI, Web-Technologien 4

Literatur Learn Java für Web Development Vishal Layka, Apress-Verlag ISBN:978-1-4302-5983-1 Beginning ASP.net, WebPages with WebMatrix Mike Brind, Imar Spaanjaars ISBN:978-1-118-05048-4 Building ASP.net, WebPages with MS WebMatrix Steve Lydford ISBN:978-1-4302-4020-4, Apress-Verlag Fachbereich AI, Web-Technologien 5

Literatur Beginning ASP.net MVC 4 José Rolando Guay Paz, Apress-Verlag ISBN: 978-1-4302-5752-3 Pro ASP.net MVC 5 Adam Freeman, Apress-Verlag ISBN: 978-1-4302-6529-0 C. Strobel: Web-Technologien in ECommerce-Systemen, Oldenbourg, 2003. Schwerpunke: JSP, Enterprise JavaBeans und CORBA) Fachbereich AI, Web-Technologien 6

Links Barrierefreiheit: BITV-Beschreibung: http://bundesrecht.juris.de/bitv/index.html BITV-Testkriterien: http://bundesrecht.juris.de/bitv/anlage_8.html Anleitung zum BITV-Test: http://www.bitvtest.de/ Datenbanken: http://www.mysql.de (Bestandteil von xampp) http://www.firebirdsql.org/ Fachbereich AI, Web-Technologien 7

Links Server: www.apache.org (Bestandteil von xampp) PHP: www.php.net http://www.w3schools.com/php/default.asp JSP: https://homepages.thm.de/~hg51/veranstaltungen/jee/aufgab en/jee-ue-01.pdf bis 05.pdf JQuery: http://www.w3schools.com/jquery/default.asp ASP: http://www.w3schools.com/aspnet/default.asp Fachbereich AI, Web-Technologien 8

Vorteile von Webapplikationen mit einen Server: Bei den Anwendern muss keine Software installiert werden, ein einfacher Webbrowser reicht, PC, Laptop, PDA, Smartphone und Handy können eingesetzt werden Die Server-Anwendungen sind multiuser- und netzwerkfähig (Intranet und Internet). Die Integration mit vorhandenen Datenbanken, Textdateien etc. ist so einfach. Realisierung von Verteilung, Transaktionsmanagement, Sicherheit, Skalierung, Load Balancing, Ausfallsicherheit, Failover. Anwendungen auf einem zentralen Application Server sind leichter wartbar. Webanwendungen werden typischerweise in drei Schichten realisiert (3-Tier): Fachbereich AI, Web-Technologien 9

Die drei Schichten einer Webanwendungen Präsentationsschicht (Webbrowser) Applikationslogik (Businesslogik) Datenbankschicht Fachbereich AI, Web-Technologien 10

Aktuelle Webtechnologien Perl Einfach zu verstehen (Perl, DBMS) PHP (prozedural) Einfach zu verstehen (PHP, DBMS) PHP (OOP) Sinnvolle Alternative Fachbereich AI, Web-Technologien 11

Aktuelle Webtechnologien Java EE Zusammenführung verschiedener Techniken Java Server Pages Benutzt JSP-Views, Java, Tomcat, DBMS Java Server Pages Compiler erstellt Java-Quellcode. Dann wird dieser übersetzt in Java-Bytecode. Laut Oracle: deprecated. Java Server Faces Benutzt Facelet, JSF-Framework, Java, Tomcat, DBMS Komponenten Facelet-Technik Ersetzt die Java-Server-Pages für die Definition der Views. Fachbereich AI, Web-Technologien 12

Aktuelle Webtechnologien Microsoft: WebPages Alternative von Microsoft zu PHP Microsoft: ASP.net Webforms Microsoft Elemente kapseln HTML-Formulare Microsoft: ASP.net MVC Microsoft Elemente kapseln HTML-Formulare Mit Modell View Controller-Konzept Fachbereich AI, Web-Technologien 13

Beispiel mit PHP <html> <head> <title> Beispiel 01.php </title> </head> <body> <!-- http://www.miwilhelm.de/scripte/php-neu/bsp01.php --> <h2> Erste PHP-Datei </h2> <?php $nr=12; echo "Hier ist meine erste PHP-Datei <br />" ; echo 'Nummer: '. $nr ;?> </body> </html> Fachbereich AI, Web-Technologien 14

Beispiel mit PHP <html> <head> <title> Beispiel 02.php </title> </head> <body> <!-- http://www.miwilhelm.de/scripte/php-neu/bsp02.php --> <h2> Zweite PHP-Datei </h2> <?php $nr=12;?> Hier ist meine zweite PHP-Datei <br /> Nummer: <?php $nr?>?> </body> </html> Fachbereich AI, Web-Technologien 15

Beispiel mit PHP Fachbereich AI, Web-Technologien 16

Formular-Beispiel mit PHP <html> <head> <title>1. Beispiel Formulare mit PHP</title> </head> <body> <h2>1. Beispiel Formulare mit PHP</h2> <?php echo '<form method="get" action="bsp03.php"> '; echo '<p>eingabe:'; echo ' <input type="text" name="eingabe"> '; echo '</p>'; echo '<p><input type="submit" value=\" Submit"> '; echo '<input type="reset" value="loeschen">'; echo '</p>'; echo '</form> ';?> </body> </html> Fachbereich AI, Web-Technologien 17

2. Formular-Beispiel mit PHP <?php echo '<form method="get" action="bsp04.php"> '; if ( isset($_get['eingabe']) ){ // Ist gesetzt? $eingabe = $_GET['eingabe']; echo 'Eingabe: '. $eingabe ; } else { echo "<p>eingabe:"; echo ' <input type="text" name="eingabe"> '; echo "</p>"; echo '<p><input type="submit" value=" Submit"> '; echo '<input type="reset" value="cancel">'; echo '</p>'; echo '</form> '; }?> </body> </html> Fachbereich AI, Web-Technologien 18

<form method="get" action="bsp05.php"> <?php if ( isset($_get['eingabe']) ){ // Ist gesetzt? $eingabe = $_GET['eingabe']; echo 'Eingabe: '. $eingabe ; } else {?> <p>eingabe:" <input type="text" name="eingabe"> </p> <p><input type="submit" value=" Submit"> <input type="reset" value="cancel"> </p> </form> <?php }?> </body> </html> Fachbereich AI, Web-Technologien 19

OOP mit PHP <?php class mypoint { private $x=1; private $y=1; public function getx() { return $x; } public function gety() { return $y; } public void setx($value) { $x=$value; } public void sety($value) { $y=$value; } } // class mypoint $p1 = new mypoint; $p1->setx(100); echo ("p1(x): ". $p1->getx() ;?> Fachbereich AI, Web-Technologien 20

Java Server Pages Ist ähnlich wie PHP, nur anders Tag s: <% %> Compile PHP wird direkt interpretiert JSP-Seiten werden erst übersetzt (Servlets) Mächtigkeit PHP ist benutzt einfach gehalten Java hat sehr komplexe Strukturen Servlets <% out.println( new java.util.date() ); %> Ausdruck <p> <%= new java.util.date() %> </p> Zusätzliche Frameworks Struts, Java Server Faces, Spring, Grails Fachbereich AI, Web-Technologien 21

Java Server Pages Directives <%@ directive {attr="value"}* %> Direktiven erlauben Festlegungen, z.b. import-befehle. Beispiel: <%@ page language="java" %> declarations <%! declaration %> Deklaration von Variablen und Methoden. Es ist keine Ausgabe möglich. Beispiel: <%! int i=0;%> scriptlets <% scriptlet %> Beliebige Java-Befehle. Befehle der Form "System.out.println("Text");" oder "out.println("cheerio");" erzeugen eine Ausgabe in der HTML-Seite. Beispiel: <% i=i+1; %> Fachbereich AI, Web-Technologien 22

Java Server Pages expressions <%= expression %> Gültige Java-Ausdrücke. Das Ergebnis wird in die HTML-Seite eingefügt. Beispiel: <%= preis*0.16; %> comments <%-- jsp comment --%> Kommentare, sind in der HTML-Seite nicht sichtbar. Beispiel: <%-- Berechnung des Maximums in einer Schleife --%> Fachbereich AI, Web-Technologien 23

Beispiel mit Java Server Pages <html> <head> <title> 01. Beispiel mit JSP </title> </head> <body> <!-- http://www.miwilhelm.de/scripte/php-neu/bsp_sp1_01.html --> <h2> Erste PHP-Datei </h2> <% // beliebiger Java-Code out.println( "Hier ist meine erste JSP-Datei <br />" ); int nr=12; out.println( "Nummer: " + nr ); %> </body> </html> Fachbereich AI, Web-Technologien 24

2. Beispiel mit Java Server Pages <html><body> <%@ page import = "java.util.*" %> <b>parameters:</b><br> <% Enumeration parameterlist = request.getparameternames(); while( parameterlist.hasmoreelements() ) { String sname = parameterlist.nextelement().tostring(); String[] smultiple = request.getparametervalues( sname ); // Formular liste if( 1 >= smultiple.length ) out.println( sname + " = " + request.getparameter( sname ) + "<br>" ); else for( int i=0; i<smultiple.length; i++ ) out.println( sname + "[" + i + "] = " + smultiple[i] + "<br>" ); } %> </body></html> Fachbereich AI, Web-Technologien 25

3. Beispiel mit Java Server Pages <html><body> <%@ page import = "java.util.*" %> <b>parameters:</b><br> <% Enumeration parameterlist = request.getparameternames(); while( parameterlist.hasmoreelements() ) { String sname = parameterlist.nextelement().tostring(); String[] smultiple = request.getparametervalues( sname ); // Formular liste if( 1 >= smultiple.length ) out.println( sname + " = " + request.getparameter( sname ) + "<br>" ); else for( int i=0; i<smultiple.length; i++ ) out.println( sname + "[" + i + "] = " + smultiple[i] + "<br>" ); } %> </body></html> Fachbereich AI, Web-Technologien 26

<%@ page import = "java.util.*" %> <% final String s1 = "<tr bgcolor='#ebeeee'><td>"; final String s2 = "</td><td>"; final String s3 = "</td></tr>\n"; StringBuffer sb = new StringBuffer(); Enumeration parameterlist = request.getparameternames(); while( parameterlist.hasmoreelements() ) { String sname = parameterlist.nextelement().tostring(); String[] smultiple = request.getparametervalues( sname ); if( 1 >= smultiple.length ) sb.append( s1 + sname + s2 + request.getparameter( sname ) + s3 ); else for( int i=0; i<smultiple.length; i++ ) { sb.append( s1 + sname + "[" + i + "]" + s2 + smultiple[i] + s3 ); } } 4. Beispiel mit Java Server Pages Fachbereich AI, Web-Technologien 27

4. Beispiel mit Java Server Pages if( 0 < sb.length() ) sb.insert( 0, "<table border=0 cellspacing=3 cellpadding=3>\n" + "<tr bgcolor='#ebeeee'><th colspan='2'>" + "<big>erhaltene Parameter</big></th></tr>\n" ).append( "</table>\n" ); %> <html> <body> <!-- Quelle: http://www.torsten-horn.de/techdocs/jspgrundlagen.htm#einfuehrung --> Fachbereich AI, Web-Technologien 28

4. Beispiel mit Java Server Pages <form action="bsp_jsp_03.jsp?urlparm=seeurl#scroll" method="post"> <input type="hidden" name="hidden" value="hid"> <table border=0 cellspacing=3 cellpadding=3> <tr bgcolor='#ebeeee'><th colspan='2'> <big>formular</big><br> Bitte Eingaben ändern und Submit betätigen</th></tr> <tr bgcolor="#ebeeee"><td>selectdropdown</td> <td> <select name="selectdropdown" size=1> <option value="1">opt. 1</option> <option value="2" selected>opt. 2</option> <option value="3">opt. 3</option> <option value="4">opt. 4</option> </select> </td></tr> Fachbereich AI, Web-Technologien 29

4. Beispiel mit Java Server Pages <tr bgcolor="#ebeeee"><td>selectmultiple</td> <td> <select name="selectmultiple" size=3 multiple> <option value="1">opt. 1</option> <option value="2">opt. 2</option> <option value="3" selected>opt. 3</option> <option value="4" selected>opt. 4</option> </select> </td></tr> <tr bgcolor="#ebeeee"><td>textarea</td> <td> <textarea name="textarea" cols=20 rows=3>text...</textarea> </td></tr> <tr bgcolor="#ebeeee"><td>textfeld</td> <td> <input type="text" name="textfeld" value="text..." size=20 maxlength=50> </td></tr> Fachbereich AI, Web-Technologien 30

4. Beispiel mit Java Server Pages <tr bgcolor="#ebeeee"><td>passwort</td> <td> <input type="password" name="passwort" value="xx" size=20 maxlength=10> </td></tr> <tr bgcolor="#ebeeee"><td>checkboxen cb1...cb3</td> <td> <input type="checkbox" name="cb1"> <input type="checkbox" name="cb2" checked> <input type="checkbox" name="cb3"> </td></tr> <tr bgcolor="#ebeeee"><td>radiobuttons ra</td> <td> <input type="radio" name="ra" value="1"> <input type="radio" name="ra" value="2" checked> <input type="radio" name="ra" value="3"> </td></tr> Fachbereich AI, Web-Technologien 31

4. Beispiel mit Java Server Pages <tr bgcolor="#ebeeee"><td>submit</td> <td> <button type="submit" name="submit" value="submitimg"> <img src="http://www.torsten-horn.de/logo.gif" alt="submit"> </button> <input type="submit" name="submit" value="submit1"> <input type="submit" name="submit" value="submit2"> </td></tr> </table> </form> <a name="scroll"></a> <%= sb.tostring() %> </body> </html> Fachbereich AI, Web-Technologien 32

Microsoft: WebPages Erlaubt dynamische Webseiten Benutzt die IDE-Webmatrix http://www.microsoft.com/web/webmatrix/ Install-Software http://www.asp.net/web-pages Install-Software https://www.visualstudio.com/en-us/products/visual-studio-expressvs.aspx Visual Studio: Express 2013 for Web https://www.visualstudio.com/en-us/products/visual-studio-expressvs.aspx Tag s Razor: @{ } HTML: @ Speichern reicht zum Ausführen Fachbereich AI, Web-Technologien 33

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 34

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 35

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 36

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 37

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 38

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 39

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 40

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 41

WebPages mit WebMatrix, 1.Beispiel @{ // Razor c# Code var currentdatetime = DateTime.Now; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>my First Page</title> </head> <body> <h1>my first page</h1> <p>dies ist Text</p> <p>das aktuelle Datum ist: @currentdatetime</p> </body> </html> Fachbereich AI, Web-Technologien 42

WebPages mit WebMatrix, 1.Beispiel Fachbereich AI, Web-Technologien 43

WebPages mit WebMatrix, 1.Beispiel @currentdatetime.tostring("dd.mm.yyyy")</p> Fachbereich AI, Web-Technologien 44

WebPages mit WebMatrix, Übersicht Quelle: http://www.asp.net/web-pages/overview/getting-started/introducing-aspnet-web-pages-2/getting-started Fachbereich AI, Web-Technologien 45

<pre>@filecontent</pre> Fachbereich AI, Web-Technologien 46

WebPages mit WebMatrix, 2.Beispiel Fachbereich AI, Web-Technologien 47

WebPages mit WebMatrix, 2.Beispiel @{ // hier Razor-Code // Working with numbers var a = 4; var b = 5; var thesum = a + b; // Working with characters (strings) var technology = "ASP.NET"; var product ="Web Pages"; } // Working with objects var rightnow = DateTime.Now; Fachbereich AI, Web-Technologien 48

<style> body { font-family:verdana; margin-left:50px; margin-top:50px; } div { border: 1px solid black; width:50%; margin:1.2em; padding:1em; } span.bright { color:red; } </style> WebPages mit WebMatrix, 2.Beispiel Fachbereich AI, Web-Technologien 49

</head> <body> WebPages mit WebMatrix, 2.Beispiel <h1>testing Razor Syntax</h1> <div> <p>the value of <em>a</em> is @a</p> <p>the value of <em>b</em> is @b.</p> <p>the sum of <em>a</em> and <em>b</em> is <strong>@thesum</strong>.</p> <p>the product of <em>a</em> and <em>b</em> is <strong>@(a*b)</strong>.</p> </div> <div> <p>the technology is @technology, and the product is @product.</p> <p>together they are <span class="bright">@(technology + " " + product)</span></p> </div> <div> <p>the current date and time is: @rightnow</p> <p>the URL of the current page is<br/><br/><code>@request.url</code></p> </div> </body> </html> Fachbereich AI, Web-Technologien 50

WebPages mit WebMatrix, 2.Beispiel Fachbereich AI, Web-Technologien 51

@{ WebPages mit WebMatrix, 3.Beispiel var message = "Dies ist die Nachricht, die Sie beim ersten Anklicken erhalten."; if(ispost) message = "Dies ist die Nachricht, beim nächsten Anklicken."; } <body> <h1>3. Web Page</h1> <form method="post"> <div> <p>@message</p> <p><input type="submit" value="submit" /></p> </div> </form> </body> </html> Fachbereich AI, Web-Technologien 52

Microsoft: WebPages Zusammenfassung: Tag s Razor: @{ } HTML: @ C#-Code mit.net Framework Sehr umfangreiche Framework Einfache Anbindung an Datenbanken C#-Code kann auch in HTML-Code eingetragen werden Verwendet die originalen HTML-Formulare Mit WebMatrix steht ein einfaches Tool zur Verfügung Einfach strukturiert Kein vorgefertigtes MVC vorhanden Fachbereich AI, Web-Technologien 53

Microsoft: WebForms Erlaubt dynamische Webseiten Dateierweiterung:.apsx Kapselt die HTML-Formulare Statischer Text: <asp:label> Eingabefeld: <asp:textbox> Listenauswahl: <asp:dropdownlist> Auswahlfeld: <asp:checkbox> Einfache Schaltfläche: <asp:button> Radiobutton: <asp:radiobutton> Hyperlink: <asp:hyperlink> Erlaubt neue und bessere UI-Elemente Trennung HTML- und C#-Code Erlaubt Master-Pages (Vererbung) Fachbereich AI, Web-Technologien 54

Microsoft: WebForms Eingebauter WYSIWYG-Editor Tasten: Taste F5: starten Shift-F5: stoppen Strg+F5: aktuelle Seite starten Links: http://www.asp.net/web-forms/overview/getting-started/gettingstarted-with-aspnet-45-web-forms/introduction-and-overview http://www.w3schools.com/aspnet/aspnet_examples.asp Fachbereich AI, Web-Technologien 55

WebForms: Toolbox Fachbereich AI, Web-Technologien 56

Fachbereich AI, Web-Technologien 57

Microsoft WebForms: neues Projekt Fachbereich AI, Web-Technologien 58

Microsoft WebForms: neues Projekt Fachbereich AI, Web-Technologien 59

Microsoft WebForms: default.aspx Fachbereich AI, Web-Technologien 60

<%@ Page Title="Willkommen" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="bsp1._Default" %> <asp:content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <h1><%: Title %>.</h1> <h2>2. Überschrift</h2> <p class="lead">hier steht Text</p> </asp:content> Fachbereich AI, Web-Technologien 61

Fachbereich AI, Web-Technologien 62

Microsoft WebForms: Strg+Shift+A Fachbereich AI, Web-Technologien 63

2. WebForms-Seite: Strg+Shift+A Fachbereich AI, Web-Technologien 64

2. WebForms-Seite: Strg+Shift+A <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="bsp1.WebForm1" %> <asp:content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <h1>meine zweite Seite mit Webforms</h1> <a runat="server" href="~/webform2">webform2</a> </asp:content> Fachbereich AI, Web-Technologien 65

Neue Seite (pure WebForms-Seite, ohne Master.Pages <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="bsp1.WebForm2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <h3>seite WebForm2</h3> </body> </html> Fachbereich AI, Web-Technologien 66

WebForms2 <form id="form1" runat="server"> <div> <asp:label ID="Label1" runat="server" Text="Label"> </asp:label><asp:textbox ID="TextBox1" runat="server"></asp:textbox> <asp:button ID="Button1" runat="server" Text="Button" /> </div> </form> Fachbereich AI, Web-Technologien 67

WebForms2 Fachbereich AI, Web-Technologien 68

Fachbereich AI, Web-Technologien 69

WebForms2 Doppelklick auf dem Schalter erzeugt das Event: namespace bsp1 { public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } } protected void Button1_Click(object sender, EventArgs e) { } Label1.Text = "Hier der Text aus der Textbox: "+TextBox1.Text ; Fachbereich AI, Web-Technologien 70

Fachbereich AI, Web-Technologien 71

WebForms2: Calender-UI mittels table Fachbereich AI, Web-Technologien 72

WebForms2: Die Logik ist schon vorhanden Fachbereich AI, Web-Technologien 73

protected void Calendar1_SelectionChanged(object sender, EventArgs e) { } Label2.Text = Calendar1.SelectedDate.ToLongDateString(); Fachbereich AI, Web-Technologien 74

<asp:label id="label1" runat="server" /> <asp:textbox id="txt1" runat="server" /> <asp:textbox id="txt1" Text="Hello World!" Font_Face="verdana" BackColor="#0000ff" ForeColor="white" TextMode="MultiLine" Height="50" runat="server" /> <asp:textbox id="txt1" runat="server" text="hello World!" ontextchanged="change" autopostback="true"/> <asp:radiobutton id="red" Text="Red" Checked="True" GroupName="colors" runat="server"/> <asp:radiobuttonlist id="radiolist1" runat="server"> <asp:listitem selected="true">item 1</asp:ListItem> <asp:listitem>item 2</asp:ListItem> <asp:listitem>item 3</asp:ListItem> </asp:radiobuttonlist> Fachbereich AI, Web-Technologien 75

<asp:checkbox id="check1" Text="Same as home phone" TextAlign="Right" AutoPostBack="True" OnCheckedChanged="Check" runat="server" /> <asp:checkboxlist id="check1" AutoPostBack="True" TextAlign="Right" OnSelectedIndexChanged="Check" runat="server"> <asp:listitem>item 1</asp:ListItem> <asp:listitem>item 2</asp:ListItem> <asp:listitem>item 3</asp:ListItem> <asp:listitem>item 4</asp:ListItem> <asp:listitem>item 5</asp:ListItem> <asp:listitem>item 6</asp:ListItem> </asp:checkboxlist> Fachbereich AI, Web-Technologien 76

<asp:table id="table1" BorderWidth="1" GridLines="Both" runat="server" /> <asp:table runat="server" CellPadding="5" GridLines="horizontal" HorizontalAlign="Center"> <asp:tablerow> <asp:tablecell>1</asp:tablecell> <asp:tablecell>2</asp:tablecell> </asp:tablerow> <asp:tablerow> <asp:tablecell>3</asp:tablecell> <asp:tablecell>4</asp:tablecell> </asp:tablerow> </asp:table> <asp:hyperlink ImageUrl="img_w6.gif" NavigateUrl="http://www.w3schools.com" Text="Visit W3Schools!" Target="_blank" runat="server" /> <asp:button id="b1" Text="Copy to Label" OnClick="submit" runat="server" /> Fachbereich AI, Web-Technologien 77