Do
|
Grundlagen .NET 3.5
NET Überblick
Assemblies
MSIL (ILDASM von u01-Hello-World)
Typsicherheit zur Compilations- und Laufzeit
(Konvertieren zwischen CPoint und CLine)
Code Access Security
Metainformationen (Versionsnummer) in AssemblyInfo
ausfüllen
Visual Web Developer
Verwalten von Projekten mittels VS Asp.Net Webseiten vs.
Asp.Net Webanwendungsprojekten
Webanwendungsprojekt u01-hallo anlegen
Projektmappe cs-basics einrichten lassen
Gruß + Kalender mit aktuell markierten Tag
ausgeben
Zeilennummern einschalten in den Editoren
Wichtige Fenster
Projekmappenexplorer
Klassenansicht
Datenbankexplorer
Ausgabefenster
Dokumentation MSDN online
(http://msdn.microsoft.com/en-us/library/default.aspx)
Aufbau einer einfachen Webanwendung
Trennung zwischen Markup und c#- Code (u01-hallo)
Darstellung des Markup in der Quell- und
Entwurfsansicht
Markup als Mischung aus asp und html
Ereignisroutine für SelectedChanged von
Kalender- Steuerelement definieren (Rückgabe des
ausgewählten Datums)
Konfiguration mittels
Web.config
Anlegen einer
Anwendungseinstellung
Zugriff auf
Anwendungseinstellungen über das Markup ($- Ausdrücke)
Ordnerstruktur
Resourcentabellen in
App_GlobalResources
CSS- Dateien in App_Themes
Datenbankdateien in
App_Data
Debugger (u02-debug-trace)
Einzelschritt vs. Prozedurschritt
Überwachungsfenster
Traces mittels System.Diagnostics und Asp.Net Trace
Debug.WriteLine
Debug.Assert
VS- Ausgabefenster
Kompilation von C#
Übersetzungsprozess
Präprozessor
Aufbau eines C# Programmes
Namespaces
Veröffentlichen eines
Webanwendungsprojektes auf einer lokalen IIS
Grundlagen C#
Literale
Operatoren
checked und unchecked-
Intergeroperatoren
Gleitkommaarithmektik mit Nan
und infinity
Datentypen
Liste der CTS- Typen
Datum und Uhrzeit mit
DateTime verwalten
|
Fr
|
Grundlagen C# 2
Werte- und Referenztypen
Speicherverwaltung mit Stack
und Heap
Demo: Speichern eines int- Wertes in int x vs
CintegerBox y = new CintegerBox
Unterschiede beim Kopieren
analysieren
Prinzip der objektorientierten Programmierung
Beschreiben von
Weltausschnitten durch Objektmengen (Ferrari von Fred
Vollgas)
Klassenbildung auf
Objektmengen
Klassendeklaration (Klasse
MeasureS oder alternativ Spielkarte...)
Enum- Typen (EnumUnit)
Methoden
ToMeter()
Fallunterscheidungen mit
dem switch- Block
Eigenschaften
Schreib/Leseeigenschaft
(doubel Measure.Value)
Nur Lese- Eigenschaft
(double MeasureS.Unit)
Operator- Overloading
Addition von MeasureS-
Werten mittels speziellen + Operators
Konstruktion, Dispose und
Finalisierung
Klasse Schiff mit
Konstruktor, Destruktor und Dispose- Methode
Objekte Poseidon und Bounty
Erzeugen und vernichten in
Schleife-> verzögerte Destruktion
Objekte Bismarck und Hood
Dispose manuell und in using
Block
Abschalten der Finalisierung
in Dispose mittels GC.SupressFinalize(this)
Vererbungsbeziehungen
Motivation
Basisklasse Fahrzeug,
abgeleitete Klassen Benzinfzg, Dieselfzg
Methode tanken():
Überschatten mittels new, Überschreiben
mittels overrides (Polymorphismus)
Anwenden: Ableiten einer
Klasse ConsoleDirTreeScanner von DirTree, die
alle Dateipfade auf der Kommandozeile ausgibt
Fehlerbehandlung mittels try
{…} catch ...
|
Sa
|
Grundlagen C# 3
Verwalten von Mengen mit
Arrays, Collections, Datatables und Datasets
Arrays
Liste der Primzahlen als 1D-
Array
v/t Diagramm als 2D- Array
Anzahl der Dimensionen,
GetUpperBound etc, Anz. der Elemente
Besuchen aller Arrayelemente
mittels ForEach
Filtern mittels LINQ
Universeller
Sortieralgorithmus für Arrays mittels Schnittstelle
Implementieren von
IComperable in der Klasse Spielkarte
Array mit Spielkarten-
Objekten erzeugen und sortieren
Collections als
Implementierungen der Schnittstellen IEnumerable, ICollection,
IList und IDictionary
Erweiterbare Primzahllisten
mittels ArrayList und List<int>
Ein Kalender als
Dictionary<DateTime, string>
Methoden des Datentyps string
Einfügen mittels Insert
Auftrennen mittels Split
ASP.NET Grundlagen
Prozesse einer ASP.NET Webanwendung
Lebenszyklus einer Webform
Objektmodell für den Request/Response Zyklus
Ereignisketten
c# Ereignishandler in CodeBehind- Dateien
Beispiel: Summe aus Zwei
Viewstate
Anwendungs- und Sitzungszustand
Ereignishandler für Sessions und Aplikationen in
Global.asax
Bsp.: Zählen aller Request in einer Sitzung
Bsp.: Zählen aller Sessions einer Anwendung
|
Fr
|
ADO.NET und DataSourceControls
SqlExpress einrichten
Angemeldeten Benutzer Recht zur Anmeldung und anlegen
von Datenbanken geben
Datenbank DBArtikel anhängen
Ado.Net Basics
Datenbankverbindungen
Connection- Strings und ConnectionStringBulider
Verbindungszeichenfolge aus Anwendungseinstellung
einlesen und mittels ConnectionStringBuilder manipulieren
(Mars einschalten)
Datenbankverbindungen
Öffnen und schließenden
Transaktionen beginnen
Daten aus Tabellen lesen und schreiben mittels AdoNet
elementar
Einzelnen aggregierten Wert abrufen (Gesamtwert des
Lagerbestandes in DBArtikel)
Komplexes Resultset abrufen mittels Datareader (SP
ListeAlleArtikelZumLieferanten-> Ausgabe in eine
<asp:Table.../>)
Lieferanten hinzufügen
DataSets und TableAdapter
DataSet als
Datenzugriffslayer auf ArtikelDB anlegen
TableAdapter für
Abfragen und Aufruf von SP's konfigurieren
Geschäftsobjekte:
Implementieren der Liste aller Artikel als Geschäftsobjekt
Visualisieren der
Geschäftsobjektes Artikel mit einer GridView über
eine ObjektDatasource
Linq To Sql
DataAccessLayer für
DBArtikel mittels Linq To Sql- Klassen aufbauen
Einfache Abfragen mittels
Linq auf der ArtikelDetailsView
Geschäftsobjekte:
Implementieren der Liste aller Artikel als Geschäftsobjekt
Visualisieren der
Geschäftsobjektes Artikel mit einer GridView über
eine ObjektDatasource
|
Sa
|
Workshop: Implementieren der Webanwendung "Gewinnspiel"
Übersicht
des Projektes
Datenbank
anlegen
Globale
Struktur der Webanwendung
Orderstruktur
anlegen
Navigation
mittels Sitemap und Steuerelementen
Erzeugen
einer Web.Sitemap
Navigations-
Steuerelemente Menü- und Sitemap- Path Control
Stylesheets
anlegen
Masterpage
Definition
von einer Masterpage, die aufteilt in einen Kopf-, Inhalts-
und Fußbereich
Kopf
mit Logo
Erfassen
der Teilnehmerdaten
BussinessObjects
für die Teilnehmerdaten mittels Linq To Sql implementieren
Dialog
mit Teilnehmer durch Wizzard- Steuerelement strukturieren
Eingaben
mit Validatoren absichern
Teilnehmerdaten
in Datenbank übertragen
email
an Teilnehmer senden
Log-
Eintrag in Textdatei schreiben
Gewinspiel
implementieren
Spielregeln
Implementieren
der Regeln in einem BusinessObject
Image
Map "Gondeln" konfigurieren mit Sensorfeldern auf
allen vesteckten Smileys
Click-Handler
implementieren
Anzeige
der Verstrichenen Zeit seit Spielbeginn
Implementieren
einer Stopuhr mittels Ajax UpdatePanel un Timer
Auswertung der Teilnehmerdaten
Übersicht der Teilnehmer (filterbar)
Liste der Klicks pro Teilnehmer
Klickstatistik über alle Teilnehmer (Säulendiagramm
mittels Tabellen)
→ Benutzerdefiniertes Websteuerelement
|