Inhalt. Vorwort zur deutschen Übersetzung... XI. Einleitung... XV



Ähnliche Dokumente
Agenda. Einführung AJAX Was ist eigentlich AJAX?

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

Lokale Installation von DotNetNuke 4 ohne IIS

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

ASP.NET: ATLAS -Framework. Nico Orschel Microsoft Student Partner, TU Ilmenau

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Webseiten entwickeln mit ASP.NET

MOC Wichtige Webanwendungstechnologien mit Microsoft Visual Studio 2005

Anleitung zum Prüfen von WebDAV

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Inhaltsverzeichnis VII

OP-LOG

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

12. Dokumente Speichern und Drucken

Ajax HACKS. O'REILLY* Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Bruce W Perry. Deutsche Übersetzung von Kathrin Lichtenberg

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Step by Step Webserver unter Windows Server von Christian Bartl

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Nie wieder eine Sitzung verpassen unser neuer Service für Sie!

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Live Update (Auto Update)

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

WordPress lokal mit Xaamp installieren

Herzlich willkommen im Modul Web-Engineering

Anleitung zum Prüfen von WebDAV

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Ihr CMS für die eigene Facebook Page - 1

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Visual Basic Express Debugging

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

ICS-Addin. Benutzerhandbuch. Version: 1.0

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

Adminer: Installationsanleitung

Reporting Services und SharePoint 2010 Teil 1

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

VIDA ADMIN KURZANLEITUNG

COMPUTER MULTIMEDIA SERVICE

Installation des edu- sharing Plug- Ins für Moodle

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Installationsanleitung WordPress auf greenwebhosting

Das Einsteigerseminar

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

WEBSEITEN ENTWICKELN MIT ASP.NET

ESB - Elektronischer Service Bericht

etermin Einbindung in Outlook

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Qt-Projekte mit Visual Studio 2005

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

System-Update Addendum

Installationsanleitung WordPress auf greenwebhosting

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Workflow Systeme mit der Windows Workflow Foundation

Anleitung öffentlicher Zugang einrichten

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Online-Publishing mit HTML und CSS für Einsteigerinnen

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

iphone- und ipad-praxis: Kalender optimal synchronisieren

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Erstellen eines Formulars

SMART Newsletter Education Solutions April 2015

Alte Technik neu verpackt

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Internet Explorer Version 6

JavaScript in Drupal

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

AJAX Implementierung mit Joomla!

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Installationsanleitung dateiagent Pro

Installieren von Microsoft Office Version 2.1

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Leitfaden zur Installation von Bitbyters.WinShutdown

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Grundlagen und Best Practices bei der SharePoint Entwicklung

Microsoft Internet Explorer

Transkript:

Webanwendungen im Web 2.0-Stil entwickeln Deutsche Ausgabe Programmieren mit ASP.NET AJAX Deutsche Ausgabe der 3. Auflage O REILLY Christian Wenz Deutsche Übersetzung von Lars Schulten

Inhalt Vorwort zur deutschen Übersetzung....................................... XI Einleitung............................................................ XV Teil I: Grundlagen 1 ASP.NET AJAX, Ajax und ASP.NET....................................... 3 ASP.NET AJAX und Ajax............................................ 3 ASP.NET AJAX und ASP.NET........................................ 5 ASP.NET AJAX-Erfordernisse und -Installation........................... 7 ASP.NET AJAX-Struktur und Architektur.............................. 13 Ein erstes ASP.NET AJAX-Beispiel: Hallo Benutzer....................... 15 Das ScriptManager-Steuerelement.................................... 19 Zusammenfassung................................................. 21 Zum weiteren Lesen............................................... 21 2 JavaScript....................................................... 22 Die Sprache JavaScript............................................. 24 Objektorientierte Programmierung (OOP).............................. 34 Auf Seitenelemente zugreifen........................................ 38 DOM-Methoden.................................................. 42 Zusammenfassung................................................. 44 Zum weiteren Lesen............................................... 44 3 Ajax............................................................ 45 Das XMLHttpRequest-Objekt....................................... 46 Das XMLDocument-Objekt......................................... 56 V

JSON........................................................... 62 Zusammenfassung................................................. 64 Zum weiteren Lesen............................................... 65 Teil II: ASP.NET AJAX Extensions 4 Die ASP.NET AJAX-JavaScript-Erweiterung verwenden.................... 69 ASP.NET AJAX-Kürzel und -Hilfsfunktionen............................ 69 Erweiterungen für vorhandene JavaScript-Objekte........................ 72 ASP.NET AJAX-OOP-Features für JavaScript........................... 73 Clientversionen von.net-klassen.................................... 86 Zusammenfassung................................................. 90 Zum weiteren Lesen............................................... 90 5 Webservices...................................................... 91 Error-Handling................................................... 91 Seitenmethoden................................................... 96 Sitzungszustände verwalten.......................................... 99 Komplexe Daten mit dem Server austauschen.......................... 104 Webservices mit JavaScript konsumieren.............................. 109 Zusammenfassung................................................ 119 Zum weiteren Lesen.............................................. 119 6 UpdatePanel: Nur Teile einer Seite aktualisieren........................ 120 Einen Seitenbereich aktualisierbar machen............................. 120 Zusammenfassung................................................ 136 Zum weiteren Lesen.............................................. 136 7 Den ASP.NET AJAX-Profildienst nutzen................................ 137 Die Website vorbereiten........................................... 137 Auf Profildaten zugreifen........................................... 139 Auf Profilgruppendaten zugreifen.................................... 144 Zusammenfassung................................................ 148 Zum weiteren Lesen.............................................. 148 8 Den ASP.NET AJAX-Authentifizierungsdienst nutzen..................... 149 Die Anwendung vorbereiten........................................ 149 Login und Logout................................................ 152 Zusammenfassung................................................ 157 Zum weiteren Lesen.............................................. 158 VI Inhalt

9 Anwendungen lokalisieren und globalisieren.......................... 159 Lokalisierung.................................................... 160 Globalisierung und Internationalisierung.............................. 173 Zusammenfassung................................................ 177 Zum weiteren Lesen.............................................. 177 Teil III: ASP.NET AJAX Control Toolkit 10 Das Control Toolkit verwenden...................................... 181 Das Control Toolkit installieren..................................... 181 Das Control Toolkit verwenden..................................... 185 Zusammenfassung................................................ 188 Zum weiteren Lesen.............................................. 188 11 Einer Webseite Animationen hinzufügen............................. 189 Animation Framework............................................ 189 Drag-and-Drop.................................................. 197 Zusammenfassung................................................ 200 Zum weiteren Lesen.............................................. 200 12 Autovervollständigung für Benutzereingaben, Spam-Bekämpfung und mehr 201 Ein Accordeon-Panel erzeugen...................................... 201 Die relative Position eines Elements bewahren.......................... 204 Einem TextBox-Steuerelement eine Autovervollständigung hinzufügen...... 205 Einen Kalender an ein Textfeld knüpfen............................... 213 Ein einzelnes Panel dynamisch zusammenklappen....................... 214 Über einer Seite ein Popup anzeigen.................................. 216 Spam in Blogs und anderen Eingabeformularen verhindern................ 218 Eine Schnittstelle mit Registerkarten erzeugen.......................... 221 Zusammenfassung................................................ 222 Zum weiteren Lesen.............................................. 223 13 Benutzerdefinierte Steuerelemente schreiben und zur Gemeinschaft beitragen........................................... 224 Eigene ASP.NET AJAX-Steuerelemente schreiben....................... 224 Zum Control Toolkit beitragen...................................... 233 Zusammenfassung................................................ 243 Zum weiteren Lesen.............................................. 243 Inhalt VII

Teil IV: ASP.NET AJAX Futures 14 Clientsteuerelemente............................................. 247 Die ASP.NET AJAX-Clientsteuerelemente im Überblick.................. 247 ASP.NET AJAX-Steuerelemente verwenden............................ 248 Steuerelement-Event-Handling...................................... 265 Zusammenfassung................................................ 269 Zum weiteren Lesen.............................................. 269 15 Datenbindung und Validierung..................................... 270 Datenbindung................................................... 270 Datenvalidierung................................................. 287 Zusammenfassung................................................ 302 Zum weiteren Lesen.............................................. 303 16 Verhalten und Komponenten verwenden............................. 304 Verhalten verwenden.............................................. 304 Komponenten verwenden.......................................... 316 Zusammenfassung................................................ 320 Zum weiteren Lesen.............................................. 320 17 Serverdaten verwenden........................................... 321 Ein ListView-Steuerelement verwenden............................... 321 Eine benutzerdefinierte Datenquelle erstellen........................... 338 Zusammenfassung................................................ 343 18 Entfernte Webservices nutzen...................................... 344 Den Google-Webservice nutzen..................................... 345 Den Amazon-Webservice nutzen.................................... 352 Ein Webservice-Ergebnis mit XSLT transformieren...................... 357 Den Yahoo!-Webservice (und REST und XPath) nutzen.................. 366 Zusammenfassung................................................ 374 Zum weiteren Lesen.............................................. 374 19 Animationen verwenden.......................................... 376 Animationen verwenden........................................... 376 Eine Animation verwenden, um einen Fade-Effekt zu erzeugen............. 378 Zusammenfassung................................................ 388 Zum weiteren Lesen.............................................. 388 VIII Inhalt

20 Lesezeichen, Zurück- und Vor-Button reparieren........................ 389 Mit Code reparieren.............................................. 390 Steuerelemente über UpdateHistory reparieren......................... 392 Eine Reparatur auf Basis der ASP.NET AJAX Futures.................... 396 Zusammenfassung................................................ 402 Zum weiteren Lesen.............................................. 403 21 Webparts....................................................... 404 ASP.NET AJAX mit ASP.NET Webparts nutzen........................ 404 Zusammenfassung................................................ 409 Zum weiteren Lesen.............................................. 410 Teil V: Microsoft AJAX Library 22 ASP.NET AJAX mit anderen Servertechnologien verwenden............... 413 ASP.NET AJAX mit PHP nutzen..................................... 414 Zusammenfassung................................................ 417 Zum weiteren Lesen.............................................. 418 Teil VI: Anhänge A ASP.NET AJAX-Anwendungen debuggen.............................. 421 B XMLHttpRequest-Referenz......................................... 434 C DOM-Referenz................................................... 436 D ASP.NET AJAX-Referenz............................................ 440 E Referenz zur deklarativen Verwendung von ScriptManager, UpdatePanel, UpdateProgress und Timer......................................... 443 Index............................................................... 447 Inhalt IX

KAPITEL 1 ASP.NET AJAX, Ajax und ASP.NET In diesem Buch geht es um ASP.NET AJAX (das in seinen Vorabversionen»Atlas«genannt wurde). ASP.NET AJAX ist der Name für eine Sammlung neuer Microsoft-Technologien, die es Webentwicklern, insbesondere ASP.NET 2.0-Entwicklern, ermöglichen, Websites mit Seiten zu erstellen, die Ajax einfacher nutzen. Ajax-artige Seiten bieten Benutzern eine reichere Schnittstelle, sind reaktiver, weil Seiten unmittelbar auf Benutzerinteraktionen reagieren können, und können mehr oder weniger sofort mit dem Server interagieren. ASP.NET AJAX schließt außerdem Werkzeuge zur Erstellung von Mashups ein: Das sind Webanwendungen, die Inhalte von mehreren Seiten kombinieren und dazu üblicherweise APIs verwenden, die von externen Webservices gestellt werden. Wir werden uns all diese Fähigkeiten und mehr in diesem Buch ansehen. Dieses Kapitel sagt Ihnen, wie Sie in ASP.NET AJAX einsteigen, liefert einen Überblick über die beteiligten Technologien und erklärt aus architektonischer Perspektive, wie ASP.NET AJAX funktioniert. ASP.NET AJAX und Ajax ASP.NET AJAX beruht auf standardnahen Browsertechnologien einschließlich asynchronem JavaScript und XML. Ajax selbst hat in jüngster Zeit ziemlich Furore gemacht (in der»einleitung«finden Sie einige Gedanken dazu), da es die Funktionalität und das User Interface (UI) von Webanwendungen denen von Desktop-Anwendungen annähern kann. Der Grundgedanke hinter Ajax ist, Webseiten so aufzubauen, dass sie im Hintergrund oder asynchron HTTP-Anfragen durchführen, ohne die gesamte Seite neu zu laden (bzw., um im ASP.NET-Jargon zu sprechen: einen Roundtrip oder ein Postback durchzuführen). Ajax bietet außerdem Mittel, ein reaktionsfähigeres UI zu erstellen, indem die Möglichkeiten von JavaScript, dem Document Object Model (DOM) des Browsers und CSS ausgenutzt werden, die von den meisten Browsern unterstützt werden. JavaScript wird beispielsweise genutzt, um die Informationen anzuzeigen, die auf eine HTTP-Anfrage zurückgeliefert werden, ohne die Seite vollständig zu aktualisieren. Google Suggest (http://www.google.com/webhp?complete=1&hl=en) zeigt, wie eine Ajax-fähige Seite 3

Wörter vorschlagen kann, während der Benutzer Text eingibt (was auch als Autovervollständigung bezeichnet wird). Eine andere Ajax-artige Anwendung ist die Microsoft Virtual Earth-Site (http://www.virtualearth.com). Ein Ziel von ASP.NET AJAX ist es, Ihnen zu helfen, derartige Ajax-fähige Anwendungen zu erstellen, indem Sie den Browser (Client) programmieren. Um mit der Clientseite von Ajax und ASP.NET AJAX zu arbeiten, benötigen Sie eine gute Kenntnis der Ajax-Kerntechnologien. Um Ajax-fähige Webseiten zu programmieren, indem Sie den Browser programmieren, müssen Sie JavaScript und das DOM kennen und müssen mit dem XMLHttpRequest-Objekt vertraut sein, das die Anfragen vom Client an den Server abwickelt. (Zusätzliche Kenntnisse in XML und XSLT sind von Vorteil, aber nicht erforderlich. Wir werden sie in diesem Buch nicht viel verwenden.) Während sich Kapitel 2 mit den Grundlagen von JavaScript befasst, werden Sie die anderen Ajax-Technologien in Kapitel 3 ausführlicher kennenlernen. Um dem Beispiel in diesem Kapitel zu folgen (siehe weiter unten»ein erstes ASP.NET AJAX-Beispiel: Hallo Benutzer«), brauchen Sie nur ein elementares Verständnis der Ajax-Technologien, das wir im Folgenden liefern werden. Ohne ein Framework wie ASP.NET AJAX ist das Schreiben Ajax-basierter Anwendungen nicht unbedingt einfach, und möglicherweise werden Sie feststellen, dass Sie immer wieder den gleichen Code schreiben müssen, um Aufgaben wie die Anzeige der vom Server auf eine Anfrage zurückgelieferten Daten, das Binden von Steuerelementen an Daten oder die Arbeit mit Webservices zu bewältigen. Außerdem kann es sein, dass Sie Code schreiben müssen, um Unterschiede in der DOM-Implementierung der unterschiedlichen Browser zu umgehen. Eines der Ziele von ASP.NET AJAX ist das Verringern wenn nicht sogar das Eliminieren der Notwendigkeit, solchen Code schreiben zu müssen, sowie die Entwicklung auf der Clientseite der Entwicklung unter ASP.NET 2.0 anzugleichen. Ein damit verknüpftes Ziel ist es, JavaScript einen Teil der Produktionsvorteile der objektorientierten Programmierung (OOP) und eines Frameworks wie.net mitzugeben. Deswegen enthält ASP.NET AJAX Clientskriptbibliotheken, die JavaScript/DOM/ CSS-Programmierern Folgendes bieten: Browser-Kompatibilitätsschicht Sie ermöglicht es, ASP.NET AJAX-Skripten in den meisten Browsern auszuführen, und entbindet den Programmierer von der Notwendigkeit, Skripten speziell für jeden Browser zuzuschneiden, in dem eine Seite verwendet werden können soll. (Aber wie Sie in Kapitel 3 sehen werden, sind einige browserspezifische Skriptelemente unvermeidbar.) Kerndienste Die Kerndienste bieten JavaScript-Erweiterungen, die OOP-artiges Skripting ermöglichen und Unterstützung für Klassen, Namensräume, Event-Handling, Vererbung und die Objektserialisierung mit den Formaten JSON (JavaScript Object Notation) und XML. Die wertvollsten dieser Erweiterungen werden in Kapitel 4 behandelt. 4 Kapitel 1: ASP.NET AJAX, Ajax und ASP.NET

Basis-Klassenbibliothek Die Basis-Klassenbibliothek bietet eine Reihe von.net-artigen Komponenten wie String-Builder und Timer. Die StringBuilder-Klasse von ASP.NET AJAX werden Sie in Kapitel 4 kennenlernen. Skript-Steuerelemente und -Komponenten Diese bieten ASP.NET AJAX-Versionen der Standard-HTML-Steuerelemente, die um Fähigkeiten wie Datenbindung, vorgefertigte Verhalten (beispielweise Drag-and- Drop-Funktionalitäten) und eine enge Integration mit den ASP.NET AJAX-Clientbibliotheken erweitert wurden. Sie können diese Steuerelemente und Komponenten direkt programmieren, oder Sie können ein neues deklaratives Markup namens xmlscript verwenden, auf das Sie in mehreren Kapiteln stoßen werden. Wenn Sie mit der ASP.NET-Markup-Syntax vertraut sind, verstehen Sie (in allgemeinen Begriffen) bereits, welche Beziehung HTML-Steuerelemente, abstrakte programmierbare Versionen dieser Steuerelemente und eine deklarative Syntax haben. ASP.NET AJAX und ASP.NET Auch wenn ASP.NET AJAX Programmierern von Clientskripten, die Ajax-Anwendungen erstellen, viele Vorteile bringt, geht es bei ASP.NET AJAX nicht nur darum, JavaScript zu schreiben und asynchrone Aufrufe an den Server durchzuführen. Da ASP.NET AJAX vom ASP.NET-Team geschaffen wurde, ist es keine Überraschung, dass ein herausragendes ASP.NET AJAX-Feature ein Server-Framework ist, das in ASP.NET 2.0 integriert ist (und es erfordert). Wie bei ASP.NET selbst ist es eines der Ziele von ASP.NET AJAX, Funktionalitäten in diesem Fall die Vorteile von Ajax zu liefern, ohne dass man dazu die Technologien beherrschen muss, die dafür sorgen, dass sie funktionieren. ASP.NET AJAX kann Ajax- Funktionalitäten auf ziemlich die gleiche Weise für Sie steuern, wie ASP.NET HTTP- Funktionalitäten wie Postbacks, Zustandsverwaltung und das Clientskript steuern kann, das erforderlich ist, damit ASP.NET»einfach funktioniert«. Daneben arbeitete ASP.NET AJAX auf der Serverseite als Teil von ASP.NET und kann die ASP.NET-Features nutzen. ASP.NET AJAX-Steuerelemente können mit ASP.NET-Steuerelementen und -Komponenten und dem Lebenszyklus von Seiten interagieren. Sie können ASP.NET AJAX mit ASP.NET 2.0-Features wie Sessions, Authentifikation und Profilen verknüpfen, um die Vorteile dieser Arten von Fähigkeiten auf den Client zu bringen. Außerdem können Sie mit ASP.NET AJAX und ASP.NET über die Seite hinaus auf spezielle Webservices zugreifen. Zu den Schlüsselelementen des ASP.NET AJAX-Server-Frameworks zählen: ASP.NET AJAX-Serversteuerelemente Die ASP-NET AJAX-Serversteuerelemente bieten serverbasierte Steuerelemente, die den ASP.NET 2.0-Serversteuerelementen ähneln, aber mit dem ASP.NET AJAX- Client-Framework zusammenarbeiten, um ihre Funktionalität bereitzustellen. Zwei ASP.NET AJAX und ASP.NET 5

Steuerelemente sind für ASP.NET AJAX-Anwendungen besonders essenziell: ScriptManager, das weiter unten in diesem Kapitel betrachtet wird (siehe»das ScriptManager-Steuerelement«), und UpdatePanel, das in Kapitel 6 behandelt wird. ASP.NET AJAX ASP.NET-Dienste Diese Dienste bieten bestimmte ASP.NET 2.0-Anwendungsdienste, die ASP.NET AJAX-Clientskripten direkt zur Verfügung stehen, einschließlich profil-, personalisierungs-, authentifizierungs-, mitgliedschafts- und länderspezifischen Diensten. Sie können davon ausgehen, dass die Anzahl der ASP.NET-Dienste, die ASP.NET AJAX-Anwendungen zur Verfügung stehen, mit zukünftigen Versionen von ASP.NET AJAX wachsen wird. Die Microsoft Ajax Library Diese Library bietet eine reine JavaScript-Bibliothek, die nicht von ASP.NET abhängig ist, und kann deswegen ohne ASP.NET eingesetzt werden. Dies wird in Kapitel 22 gezeigt. Am Ende wird ASP.NET AJAX seinen angestammten Platz als Schlüsselkomponente der nächsten Version von ASP.NET einnehmen und vollständig von Designern, IntelliSense und den Debugging-Tools in zukünftigen Versionen von Visual Studio unterstützt werden. ASP.NET AJAX-Pakete Auf der ASP.NET AJAX-Homepage unter http://ajax.asp.net/ werden Sie auf mehrere separate Pakete stoßen, die jeweils ihren besonderen Zweck haben: ASP.NET AJAX Extensions Das ist das»haupt«-asp.net AJAX-Paket, das gelegentlich auch als»asp.net AJAX Core«bezeichnet wird. Dieses Paket wird von Microsoft vollständig unterstützt und enthält die ASP.NET AJAX-Infrastruktur (und wird in Teil II dieses Buchs behandelt). ASP.NET AJAX Control Toolkit Dieses Paket enthält eine umfangreiche Sammlung serverseitiger Komponenten, die mit sehr wenig Arbeit überraschende Ajax-Funktionalitäten bieten. Dieses Projekt ist ein Open-Source-Unternehmen. Allerdings wird es weiterhin von Microsoft gesteuert, um die Qualität zu sichern. Es gibt allerdings keine offizielle Microsoft- Unterstützung für die Teile des Toolkits. Teil III dieses Buchs wird sich mit dem Control Toolkit befassen. ASP.NET AJAX Futures Release Dieses Paket bietet einen Ausblick auf zukünftige Features, die zu Teilen von ASP.NET und ASP.NET AJAX werden könnten (oder auch nicht). Das Future-Paket ist außerdem die Heimat weniger häufig verwendeter Funktionalitäten, die ursprünglich Teil der Vorabversionen von ASP.NET AJAX waren. Das CTP wird häufiger aktualisiert als das Kernpaket. Offiziell wird es allerdings nicht unterstützt. 6 Kapitel 1: ASP.NET AJAX, Ajax und ASP.NET

Sie setzen es also auf eigenes Risiko ein. Teil IV dieses Buchs behandelt das Futures- Paket in der aktuellen Version zum Zeitpunkt der Drucklegung dieses Buchs, d.h. die ASP.NET Futures-Version vom Juli 2007. Seit Mai 2007 ist das ASP.NET AJAX Futures CTP außerdem Teil des ASP.NET Futures CTP, das faszinierende neue (und nicht unterstützte) Möglichkeiten für klassisches ASP.NET bietet. Die Microsoft Ajax Library Die bereits erwähnte reine JavaScript-Bibliothek, die in Teil V behandelt wird. In einem etwas überraschenden Zug hat Microsoft den vollständigen Quellcode für ASP.NET AJAX veröffentlicht. Er kann ebenfalls von http://ajax.asp.net/ heruntergeladen werden. Dieses Kapitel befasst sich zunächst mit den Kern-ASP.NET AJAX-Erweiterungen (und geht auch kurz auf das Futures CTP ein). Die anderen Pakete werden zu Anfang der jeweiligen Kapitel des Buchs richtig vorgestellt. ASP.NET AJAX-Erfordernisse und -Installation Die beste Möglichkeit, um zu verstehen, wie mächtig ASP.NET AJAX ist, ist die eigentliche Arbeit mit ASP.NET AJAX. Alles, was Sie benötigen, um ASP.NET AJAX-Anwendungen zu entwickeln, ist ein JavaScript-fähiger Browser auf der Clientseite und ein ASP.NET 2.0-fähiger Webserver auf der Serverseite. Ein Texteditor reicht aus, um ASP.NET AJAX-Anwendungen zu erstellen. Aber insbesondere wenn Anwendungen komplexer werden, kann eine IDE mit zusätzlichen Features wie IntelliSense, Codevervollständigung, Projektverwaltung, Debugging und WYSIWYG-Funktionalitäten eine Menge Zeit sparen. Den in der ASP.NET 2.0-Welt am meisten verwendeten Editor liefert Microsoft in der Form von Visual Studio 2005. Die IDE installieren Die gute Nachricht ist, dass, auch wenn die vollständigen Versionen von Visual Studio 2005 in der Regel die beste Wahl sind, die weborientierte Express-Ausgabe von Visual Studio 2005 Microsoft Visual Web Developer 2005 Express Edition ebenfalls vollständige ASP.NET AJAX-Unterstützung bietet. Der Einfachheit halber werden wir Visual Web Developer in diesem Buch gelegentlich mit VWD abkürzen. Mit VWD meinen wir die Express-Ausgabe und die vollständige Version von Visual Studio 2005 gleichermaßen. Die Webentwicklungskomponente von VS 2005 wird ebenfalls als Visual Web Developer bezeichnet (wie Sie während der Installation von Visual Studio sehen können), VWD ist also der allgemeinste Begriff für die Erstellung von ASP.NET 2.0-Anwendungen mit einer Microsoft-IDE. ASP.NET AJAX-Erfordernisse und -Installation 7

Index Symbole!-Operator (logische Negation) 28 &&-Operator (logisches Und) 28 +-Operator (Addition und Stringverkettung) 30 ==-Operator (Vergleich) 29 =-Operator (Zuweisung) 27 -Operator (logisches Oder) 28 A <a>-element 255.asbx-Datei Google.asbx 361 abgeleitete Klassen 77 80 abort( )-Methode (XMLHttpRequest) 434 Accept-Language-HTTP-Header 174 AccordionPane-Steuerelement (Control Toolkit) 202 Accordion-Steuerelement (Control Toolkit) 201 203 $addhandler( )-Hilfsfunktion 440 $addhandlers( )-Hilfsfunktion 440 Additionsoperator (+) 30 Adds-Transformierer 271 ADO.NET-Datasets 323 AdventureWorks_Data.mdf-Datei 12 AdventureWorks-Beispieldatenbank 11 Ajax 3, 45 65 JSON (JavaScript Object Notation) 62 65 kombinieren mit ASP.NET (Beispiel) 53 mit JavaScript auf Webservices zugreifen 109 118 weitere Informationsquellen 65 XMLDocument-Objekt 56 62 XMLHttpRequest-Objekt 46 56 AjaxControlToolkit.dll 185 Aktualisierungsmodus für UpdatePanel festlegen 129 alert( )-Methode 25 AllowCustomErrorsRedirect-Eigenschaft (ScriptManager) 443 Alpha-Transparenz 377 AlwaysVisibleControlExtender-Steuerelement (Control Toolkit) 204 Amazon-Webservice 352 357 Amazon.asbx-Datei 354 aufrufen 355 Proxy-Klasse aus WSDL-Beschreibung erzeugen 353 Registrationsseite 353 Wrapper-Klasse erzeugen 353 <animation>-element 386 Animationen 376 385 Animationsgruppen 386 388 ASP.NET AJAX Control Toolkit 189 200 Elemente verschieben 381 383 Events 191 Fade-Effekt erzeugen 378 380 Typen 191 zusammengesetzte, starten mit <invoke- Method> 386 zusammensetzen 192 194, 386 388 AnimationExtender-Steuerelement (Control Toolkit) 189 Animation-Klasse 377 <Animations>-Element (xml-script) 190 Anit-Spam-Maßnahmen 219 anomyme Funktionen 33, 52 HTML-Seite vor XMLHttpRequest-Aufruf vollständig laden 60 Anweisungen (JavaScript) 27 31 appendchild( )-Methode (DOM) 43, 436 appenddata( )-Methode (DOM) 436 Index 447

Argumente, JavaScript-Funktionen 32 Arrays (JavaScript) ASP.NET AJAX-Erweiterungen 441 durchlaufen über Schleife 30 erzeugen 27.asbx-Datei Amazon.asbx 354 Google.asbx 348 yahoo.asbx 370 ASP.NET ASP.NET AJAX und 5 zukünftige Entwicklung 6 Datenbindung 270 GridView-Steuerelement 343 kombinieren mit Ajax (Beispiel) 53 Profildienst (siehe auch Profile) 137 Session-Klasse 99 Validierungssteuerelemente 302 Websteuerelemente 247 ASP.NET AJAX Ajax und 3 ASP.NET und 5 Clientkomponenten mit PHP nutzen 413 416 Client-Skriptbibliotheken 4 Control Project-Vorlage 224 Control Toolkit 181 187 Animationen 189 200 Drag-and-Drop 197 200 eigene Steuerelemente schreiben 224 233 Kalender 213 214 Patches beitragen 233 241 Debugging 421 432 Erweiterungen eingebauter JavaScript- Objekte 440, 442 Futures Release Clientsteuerelemente 247 264 Datenbindung 270 287 Hilfsfunktionen 440 installieren 8 13 SQL Server 2005 Express Edition 11 öffentliche Forum-Website XXI Struktur und Architektur 13 14 Voraussetzungen 7 Zugriff auf ASP.NET-Dienste 137 ASP.NET AJAX, Erweiterungen eingebauter Objekte 440 442 ASP.NET AJAX-Authentifizierungsdienst (siehe auch Authentifizierung) 149 ASP.NET Profildienst (siehe auch Profile) 137 ASP.NET Web Application Administration Tool 149 ASPNETDB.MDF Profildaten 143 asyncinvoke( )-Methode 113 AsyncPostBackErrorMessage-Eigenschaft (ScriptManager) 443 AsyncPostBackSourceElementID-Eigenschaft (ScriptManager) 443 Attribute, <parameters>-element 285 attributes-eigenschaft (DOM) 437 Auswahllisten (HTML) 334 <authenticationservice>-element (Web.config) 151 AuthenticationService-Klasse 152 AuthenticationService-Path-Eigenschaft (ScriptManager) 443 Authentication-Steuerelement 444 Authentifizierung einrichten 149 Ergebnisse über Callbacks verarbeiten 153 AutoCompleteExtender-Steuerelement (Control Toolkit) 206 Autovervollständigung 4 Daten aus Datenbank abrufen 208 Webseiten hinzufügen mit Control Toolkit- Erweiterung 205 212 AWSECommerceService-Klasse 354 B Basisklasse 77 Zugreifen auf Methoden von 80 81 <behaviors>-element 306 Benutzerschnittstelle (UI), reaktivere 3 Bereiche prüfen 292 Bibliotheken ASP.NET AJAX-Client-Skriptbibliotheken 4 Binden von Daten an HTML-Tabelle 334 337 an ListView-Steuerelement 322 334 Binding-Klasse 271 set_direction( )-Methode 275 Blogs vor unerwünschten Einträgen schützen 218 221 blur( )-Methode (DOM) 436 Boolean (JavaScript) ASP.NET AJAX-Erweiterungen 441 Boolean-Operatoren (JavaScript) 28 448 Index

break-anweisung (JavaScript) 29 BridgeRestProxy-Klasse 368 Browser ASP.NET AJAX-Animationen 376 Einsatz der Clientseite von Ajax und ASP.NET AJAX 4 Kompatibilitätsschicht 4 ohne JavaScript-Unterstützung 25 Transparenz-Effekte 377 Webparts 404 XMLHttpRequest-Objekt 47 Buttons 257 Button-Steuerelement (Futures Release) 248 Events 265 267 C Caching (Clientseite), einsetzen und vermeiden 65 CalendarExtender-Steuerelement (Control Toolkit) 213 callbasemethod( )-Methode 81 callservice( )-Methode 17, 110 CAPTCHAs 219 Cascading Style Sheets (siehe CSS) ceil( )-Methode (Math) 28 Checkboxen 257 CheckBox-Steuerelement (Futures Release) 248 childnodes-eigenschaft (DOM) 437 ChildrenAsTriggers-Eigenschaft (UpdatePanel) 445 class-eigenschaft 281 classname-eigenschaft (DOM) 437 clear( )-Methode (Document) 438 $clearhandlers( )-Hilfsfunktion 440 <click>-element 306 click( )-Methode (DOM) 436 ClickBehavior 304, 305 308 <clickbehavior>-element 306 Client-Skriptbibliotheken (ASP.NET AJAX) 4 Clientsteuerelemente (siehe Steuerelemente) clonenode( )-Methode (DOM) 436 close( )-Methode (Document) 438 CollapsiblePanelExtender-Steuerelement (Control Toolkit) 214 CompareInverted-Transformierer 272 Compare-Transformierer 271 <components>-element 330 <compositeanimation>-element 386 CompositeAnimation-Klasse 386 ConfirmButton-Erweiterungssteuerelement 185 187 <ContentTemplate>-Element 121 Content-type-HTTP-Header, text/xml 56, 57 Control Toolkit 181 187, 233 Accordion-Steuerelement 201 203 AlwaysVisibleControlExtender-Steuerelement 204 Animationen 189 200 AnimationExtender-Steuerelement 189 Animations-Events 191 Animationstypen 191 ASP.NET AJAX Control Project-Vorlage 224 AutoCompleteExtender-Steuerelement 206 Blog-Spam verhindern 219 CalenderExtender-Steuerelement 213 CollapsiblePanelExtender-Steuerelement 214 Drag-and-Drop 197 200 eigene Steuerelemente schreiben 224 233 Initialisierungscode für Erweiterungen 228 installieren 181 185 Kalender 213 214 ModalPopupExtender-Steuerelement 217 NoBot-Steuerelement 219 Patches beitragen 233 241 Registerkarten erzeugen 221 Steuerelemente der Visual Studio-Toolbox hinzufügen 185 TabContainer/TabPanel-Steuerelemente 221 verwenden 185 187 Visual Studio-Dokumentvorlagen 183 Control Toolkit.AccordionPane-Steuerelement 202 control-eigenschaft (Control) 296 Cookies 103 $create( )-Hilfsfunktion 440 createattribute( )-Methode (Document) 43, 438 createdocumentfragment( )-Methode (Document) 438 createelement( )-Methode (Document) 43, 438 createtextnode( )-Methode (Document) 43, 438 CSS (Cascading Style Sheets) 4 Basis-CSS-Methoden für ASP.NET AJAX- Steuerelemente 263 264 <customvalidator>-element 294 customvalidator-klasse 287 Index 449

D data-eigenschaft (DOM) 437 DataService-Klasse 338 Datasets ADO.NET 323 <datasource> xml-script-element 341 Date (JavaScript) ASP.NET AJAX-Erweiterungen 441 Datenbanken AdventureWorks 11 SQL Server (siehe SQL Server) Datenbindung 270 287 erforderliche Informationen 271 Markup verwenden 278 287 Event-Handling 280 283 mit Code 270 277 benutzerdefinierte Transformierer verwenden 275 277 Bindungsrichtung 275 eingebaute Transformierer verwenden 272 274 Transformierer 271 Datenquelle (benutzerdefinierte) erzeugen 338 343 Datentypen 4 JavaScript, eingebaute 26 Validierung über Markup 291 Datenvalidierung anhand von regulären Ausdrücken 290 ASP.NET AJAX- vs. ASP.NET-Validierungssteuerelemente 302 benutzerdefinierter Validierer 293 Bereiche 292 Datentyp prüfen 291 mit Code 295 298 Validierer für erforderliche Felder 288 290 Validierungssteuerelemente gruppieren 298 300 Debugging 421 432 Werkzeuge 421 Deckkraft, animieren mit <opacitybehavior> 384 Default.aspx-Datei (Hallo Benutzer-Beispiel) 18 deletedata( )-Methode (DOM) 436 dir-eigenschaft (DOM) 437 DisplayMode-Property (WebPartManager) 407 Document Object Model (siehe DOM) document-objekt 38 getelementbyid( )-Methode 41 Methoden und Eigenschaften 438 dogooglesearch( )-Methode 348 DOM (Document Object Model) 3, 436 439 allgemeine Methoden 436 Daten aus XML-Dokument lesen/schreiben 60 62 Methoden 42 Drag-and-Drop mit dem ASP.NET AJAX Control Toolkit 197 200 Webparts 407 DragPanelExtender-Steuerelement (Control Toolkit) 197 E Editoren 7 Eigenschaften Animationen 377 mit HTML-Formularfeldern verknüpfte 40 Einheitswerte zur Positionierung 382, 383 element-property 382 EnablePageMethods-Attribut (ScriptManager) 101 EnablePageMethods-Eigenschaft (ScriptManager) 443 EnablePartialRendering-Eigenschaft (ScriptManager) 443 EnableScriptGlobalization-Eigenschaft (ScriptManager) 173, 443 EnableScriptLocalization-Attribut (ScriptManager) 162 EnableScriptLocalization-Eigenschaft (ScriptManager) 443 EnableSession-Eigenschaft ([WebMethod]-Attribut) 99 encode( )-Methode 113 Error-Handling, Webservices 91 95 errormessage-eigenschaft 288 Erweiterungssteuerelemente 186 187 eval( ), JavaScript-Funktion 64 Event-Handler anonyme Funktionen in JavaScript 33 JavaScript-Code als 25 Event-Handling 4 ASP.NET AJAX-Clientsteuerelemente Auswahllisten-Events 267 Button-Steuerelement 265 267 450 Index

ASP.NET AJAX-Steuerelemente 265 268 JavaScript 33 konfigurieren für ASP.NET AJAX-Steuerelemente mit xml-script 280 283 Methode aufrufen 283 287 Exception-Handling, Webservices Seite zur Anzeige der ausgelösten Exception 94 Seite, die den Webservice aufruft (Beispiel) 92 Service, der die Exception auslöst (Beispiel) 92 Express Editions-Website 225 externe Webservices konsumieren Amazon-Webservice 352 357 Google-Webservice 345 352 Yahoo!-Webservice 366 374 F $find( )-Funktion 196 $find( )-Hilfsfunktion 440 <fadeanimation>-element 380 FadeAnimation-Objekt 378 FadeEffect-Enumeration 378 Fade-Effekt erzeugen 378 380, 387 Fiddler-Tool 113 Firebug, Firefox-Erweiterung 423 Firefox-Browser Sprachpräferenzen einstellen 174 Webanwendungen debuggen mit 423 firstchild-eigenschaft (DOM) 437 FloatingBehavior 305 focus( )-Methode (DOM) 436 for...in-schleife (JavaScript) 30 Formularelemente, Zugriff auf 38 41 Formularübermittlung verhindern 300 for-schleife (JavaScript) 30 Funktionen 32 anonyme 33, 52, 60 Namensräume und 73 Futures Release Button-Steuerelement 257 CheckBox-Steuerelement 257 Clientsteuerelemente 247 264 Komponenten 316 Label-Steuerelement 252 Select-Steuerelement 258 261 Sys.Preview.UI-Namensraum 247 TextBox-Steuerelement 261 Verhalten 304 Window-Steuerelement 248 251 G $get( )-Hilfsfunktion 440 $get( )-Kürzel 251, 296 Garrett, Jesse James 45 Gästenbuch vor unerwünschten Einträgen schützen 218 221 Generics 327 get_exceptiontype( )-Methode 93 get_message( )-Methode 93 get_stacktrace( )-Methode 93 get_statuscode( )-Methode 93 get_text( )-Methode (TextBox) 261 get_timeout( )-Methode 93 getallresponseheaders( )-Methode (XMLHttpRequest) 434 getattribute( )-Methode (DOM) 436 getattributenode( )-Methode (DOM) 436 getelementbyid( )-Methode (Document) 41, 438 getelementbyid( )-Methode und $get( )-Kürzel 251 getelementsbyname( )-Methode (Document) 438 getelementsbytagname( )-Methode 43 getelementsbytagname( )-Methode (DOM) 59, 436 getresponseheader( )-Methode (XMLHttpRequest) 434 Getter/Setter-Methoden für Klassen- Eigenschaften TextBoxMask-Steuerelement 226 Globalisierung 173 Google Suggest 3, 205 GoogleSearch.wsdl 346 Google-Webservice 345 352 aufrufen 350 352 Suchergebnisse in HTML transformieren 358 GoogleXSLT.asbx aufrufen 361 XSL-Transformationsdatei 359 Wrapper-Klasse erzeugen 348 GridView-Steuerelement 121, 343 Gruppen, Validierung 298 300 Gruppieren von Animationen 386 388 Index 451

H Hallo Benutzer-Beispiel 15 19 haschildnodes( )-Methode (DOM) 436 HTML Formularfelder, damit verknüpfte JavaScript- Eigenschaften 40 Steuerelemente 4, 5 XML-Webservice-Ergebnisse transformieren in 357 366 HTML-Elemente mit Animationen bewegen 387 ASP.NET AJAX-Steuerelemente 247 Autovervollständigung hinzufügen 205 212 Daten binden an 270 287 Event-Handling-Funktion anknüpfen 265 Inhalt setzen oder neue erzeugen 58 mit LengthAnimation bewegen 383 relative Position bewahren mit Control Toolkit-Erweiterungen 204 205 Text in <span>-element stecken 41 Textfelder an Kalender knüpfen 213 214 zugreifen auf, mit ASP.NET AJAX-Steuerelementen 251 252 zugreifen auf, über $get( )-Kürzel 251 HTTP-Anfragen asynchrone 3 POST-Befehl 54 HyperLink-Steuerelement (Futures Release) 248, 255 257 I id-eigenschaft (DOM) 437 IE (siehe Internet Explorer) if-anweisung 27 If-Modified-Since-HTTP-Header 65 Image-Steuerelement (Futures Release) 248, 254 <img>-element 254 indexof( )-Methode 27 Initialisierungscode für Control Toolkit- Erweiterungen 228 initialize( )-Methode 265 TextBoxMaskBehavior-Klasse 228 initializebase( )-Methode 78 innerhtml-eigenschaft (DOM) 41, 58, 437 inputbox( )-Methode (Window-Klasse) 249 insertbefore( )-Methode (DOM) 437 insertdata( )-Methode (DOM) 437 Interfaces 83 86 Internet Explorer datengebundene HTML-Tabellen 335 Fade-Animation 379 Sprachpräferenzen einstellen 174 Webanwendungen debuggen mit 423 424 Webservices aufrufen 109, 109 112, 116 118 XMLHttpRequest-Objekt programmieren 47 Invert-Transformierer 271 <invokemethod>-element 306, 386 isvalid( )-Methode 298 ItemAttributes-Property 355 ItemSearch-Objekt 353 ItemSearchRequest-Objekt 353 <itemtemplate>-element 321, 331, 341 J JavaScript 3, 22 44 allgemeine Methoden 25 anomyme Funktionen 33 ASP.NET AJAX-Erweiterungen $get( )-Kürzel 251 ASP.NET AJAX OOP-Features 73 86 Interfaces 83 86 Klassenvererbung 76 83 Namensräume 73 76 ASP.NET AJAX, clientseitige Versionen von.net-klassen 86 90 ASP.NET AJAX-Steuerelementen äquivalente DOM-Objekte oder -Methoden 247 benutzerdefinierte Funktionen schreiben 32 Browser, die es nicht unterstützen 25 Debugging 421 432 DOM-Methoden verwenden 42 Einbetten in Webseiten 24 eingebaute Methoden 32 Event-Handling 33 Kontrollstrukturen 27 31 Microsoft AJAX Library 413 objektorientierte Programmierung (OOP) 34 Operatoren 28 Technologien, die Webanwendungen Ajax- Verhalten verleihen 45 TextBoxMaskBehavior.js (Beispiel) 227 Variablen 26 XML-Dokumentdaten lesen/schreiben 60 62 Zugriff auf HTML-Elemente 251 452 Index

Zugriff auf Seitenelemente 38 42 allgemeine Elemente 41 Formularelemente 38 41 Zugriff auf Webservices 109 118 Internet Explorer 109 112 Internet Explorer- und Mozilla-Browser 116 118 Mozilla-Browser 112 116 JavaScript Object Notation (siehe JSON) javascript:-pseudoprotokoll 25 JSON (JavaScript Object Notation) 45, 62 65 Website 65 K Kalender an Textfelder knüpfen 213 214 Klassen ASP.NET AJAX-Basisklassenbibliothek 5 clientseitige Versionen von.net-klassen 86 90 data-objekt 338 erzeugen in JavaScript 34 registrieren 74 unterstützt durch JavaScript-Erweiterungen 4 Vererbung 76 77 abgeleitete Klassen 77 80 in JavaScript 36 Zugreifen auf Basismethoden 80 83 (siehe auch Namensräume) Komponenten 5, 304 Kontrollstrukturen (JavaScript) 27 31 L l10n (siehe auch Lokalisierung) 160 <label>-element 331 Label-Steuerelement (Futures Release) 248, 252 TextBox-Daten binden an 272 274 lang-eigenschaft (DOM) 437 lastchild-eigenschaft (DOM) 437 LayoutBehavior 305 <layouttemplate>-element 321, 330, 341 <layout>-verhalten 384 left-property 383 LengthAnimation-Klasse 383 length-eigenschaft (DOM) 437 Links (HyperLink-Steuerelement) 255 256 <listview>-element 341 ListView-Steuerelement 321 334 Daten binden an 322 334 Live HTTP Headers 113 Lizenzschlüssel (Google-Webservice) 345 load( )-Methode (ProfileService) 139 load-event (HTML-Seite) 329 LoadScriptsBeforeUI-Eigenschaft (ScriptManager) 444 localformat( )-Methode (Date) 175 localname-eigenschaft (DOM) 437 login( )-Methode (AuthenticationService) 152 logischer Negationsoperator (!) 28 logout( )-Methode (AuthenticationService) 152 Lokalisierung Locale auf Basis von Browsereinstellungen laden 162 Locale-Codes 161 Satellitenressourcen 164 Sprachpräferenzen im Browser anpassen 174 vs. Globalisierung 173 lowerbound-eigenschaft (rangevalidator) 292 M Markup für Datenbindung verwenden 278 287 Math-Klasse ceil( )-Methode 28 random( )-Methode 27 messagebox( )-Methode (Window-Klasse) 249 Methoden Aufrufen für Event-Handling mit xml-script 283 287 DOM 42 Inline-Webmethoden aktivieren 101 Inline-Webservice 96 99 Webservice- 93 Microsoft Express Editions-Website 225 Shared Source-Lizenzen 243 SQL Server Management Studio Express (SSMSE) 12 Microsoft AJAX Library 413 Microsoft AJAX Library für PHP 414 Microsoft Visual Studio Control Toolkit-Dokumentvorlagen installieren 183 Toolbox ASP.NET AJAX Control Toolkit- Steuerelemente hinzufügen 185 ModalPopupExtender-Steuerelement (Control Toolkit) 217 Index 453

Mozilla-Browser entfernte Webservices 116 Live HTTP Headers-Erweiterung 113 Webservices aufrufen 112 118 MSAjaxProxyGenerator.php-Datei 414 MSAjaxService.php-Datei 414 Multiply-Transformierer 271 N Nachrichtenfenster 248 name-attribut 41 Namensräume 4, 73 76 Generics 327 verwenden (Beispiel) 75 Webparts 405, 407 Webservices, in Seitendatei importieren 96 namespaceuri-eigenschaft (DOM) 437.NET ASP.NET AJAX, clientseitige Versionen von Klassen 86 90 Net Applications 46.NET Framework installieren 8 new-schlüsselwort 75 nextsibling-eigenschaft (DOM) 437 NoBot-Steuerelement (Control Toolkit) 219 nodename-eigenschaft (DOM) 437 nodetype-eigenschaft (DOM) 437 nodevalue-eigenschaft (DOM) 437 Number (JavaScript) ASP.NET AJAX-Erweiterungen 442 NumberAnimation-Klasse 381 O Object (JavaScript) ASP.NET AJAX-Erweiterungen 442 objektorientierte Programmierung (OOP) 4, 34, 73 86 Interfaces 83 86 Klassenvererbung 76 77 Namensräume 73 76 Objektserialisierung 4 JSON 62 65 onreadystatechange-eigenschaft (XMLHttp- Request) 50 OpacityBehavior 305 <opacitybehavior>-verhalten 384 open( )-Methode (Document) 438 open( )-Methode (XMLHttpRequest) 50, 434 Operatoren, JavaScript 28 typeof 48 or-operator 28 ownerdocument-eigenschaft (DOM) 437 P Page_Load( )-Event-Handler 52 Page-Direktive (Page) 162 pageload( )-Methode 329 PageMethods-Klasse 97 PageRequestManager-Klasse 133 parentnode-eigenschaft (DOM) 437 Patch-Werkzeug 233 persistente Speicherung von JavaScript-Objekten oder -Daten 62 65 PHP mit ASP.NET AJAX nutzen 413 416 play( )-Methode 377 Popups, anzeigen über HTML-Seite 216 218 Positionierung von HTML-Elementen bewahren mit Control Toolkit-Erweiterungen 204 205 Postback vermeiden mit UpdatePanel 120 POST-Befehl (HTTP) 54 prefix-eigenschaft (DOM) 437 PreviewGlitz.js-Datei 376 PreviewScript.js über ScriptManager-Element laden 249 previoussibling-eigenschaft (DOM) 437 Profildienst in Seite aktivieren 314 Profile 5 anonyme Authentifizierung ermöglichen 138 Daten laden 139 Eigenschaften definieren 138 Eigenschaften gruppieren 144 Unterstützung aktivieren 137 <profile>-element (Web.config) 137 <profileservice>-element (Web.config) 139 ProfileService-LoadProperties-Eigenschaft (ScriptManager) 444 ProfileService-Path-Eigenschaft (ScriptManager) 444 ProfileService-Steuerelement 444 <ProgressTemplate>-Element 131 prototype-eigenschaft 36, 80 454 Index

Prototypen 76 <proxy>-element 348 Proxy-Klasse, aus WSDL-Beschreibung des Amazon-Webservice erzeugen 353 R random( )-Methode (Math) 27 <rangevalidator>-element 292 rangevalidator-klasse 287 readystate-eigenschaft (XMLHttpRequest) 435 <regexvalidator>-steuerelement 290 regexvalidator-klasse 287 registerclass( )-Methode (Type) 74 Registerkartenschnittstelle erzeugen mit Control Toolkit-Steuerelementen 221 registernamespace( )-Methode (Type) 73 reguläre Ausdrücke Daten validieren mit 290 replace( )-Methode für JavaScript-Strings 32 RegularExpressionValidation-Steuerelement (ASP.NET) 290 removeattribute( )-Methode (DOM) 437 removechild( )-Methode (DOM) 437 $removehandler( )-Hilfsfunktion 440 RenderMode-Eigenschaft (UpdatePanel) 121, 445 replace( )-Methode 32 replacechild( )-Methode (DOM) 437 replacedata( )-Methode (DOM) 437 REpresential State Transfer (REST) 366 requiredfieldvalidator-klasse 287, 288 290 ResourceUICultures 162 responsetext-eigenschaft (XMLHttpRequest) 435 responsexml-eigenschaft (XMLHttpRequest) 56, 435 REST (REpresential State Transfer) 366 <ResultElement>-Element 358 return-anweisung 32 S Satellitenressourcen 164 save( )-Methode (ProfileService) 139 sayhello( )-Methode 17 Schleifen (JavaScript) 30 31 ScriptManagerProxy-Steuerelement 21 ScriptManager-Steuerelement 19, 443 444 Eigenschaften 443 EnablePageMethods-Attribut 101 EnableScriptGlobalization 173 EnableScriptLocalization-Attribut 162 Funktionalitäten der ASP.NET AJAX Futures einbinden 249 Lokalisierung aktivieren 162 ScriptMode-Eigenschaft (ScriptManager) 444 ScriptPath-Eigenschaft (ScriptManager) 444 Scripts-Element 444 Scrollen vermeiden mit ASP.NET AJAX Control Toolkit-Accordion-Steuerelement 201 203 Seitenbereich aktualisierbar machen mit Update- Panel 120 Seitenmethoden aktivieren 101 selectionchanged-event 267 Selector-Steuerelement (Futures Release) 248 Select-Steuerelement (Futures Release) 258 261 selectionchanged-event behandeln 267 send( )-Methode (XMLHttpRequest) 50, 434 Serverdaten verwenden 321 343 benutzerdefinierte Datenquelle erzeugen 338 343 Daten binden an HTML-Tabelle 334 337 ListView-Steuerelement 321 334 Server-Framework (ASP.NET AJAX) 5 Services, ASP.NET AJAX ASP.NET-Services 6 Session-Klasse (ASP.NET) 99 set_text( )-Methode (TextBox) 261 set_transformerargument( )-Methode 272 setattribute( )-Methode (DOM) 437 setattributenode( ) (DOM) 437 <setproperty>-element 281, 306 setrequestheader( )-Methode (XMLHttp- Request) 434 Sichtbarkeitsmodus (<validationerrorlabel>) 294 Sitzungen 5 aktivieren 99 Sitzungszustand pflegen 99 103 Skripte (JavaScript), in Webseiten einbetten 24 SOAP 56 SOAPAction-Header 112 SOAPCall-Klasse 112 SOAPParameter-Klasse 112 Index 455

<span>-element, HTML und Text stecken in 41 SQL Server 2005 Express Edition 11 Download-Sites 12 Management Studio Express (SSMSE) 12 SSMSE (SQL Server Management Studio Express) 12 status-eigenschaft (XMLHttpRequest) 51, 435 statustext-eigenschaft (XMLHttpRequest) 435 Steuerelemente 4, 5 AccordionPane 202 AlwaysVisibleControlExtender 204 ASP.NET AJAX Control Toolkit verwenden 185 187 ASP.NET AJAX-Clientsteuerelemente 257 Basis-CSS-Methoden 263 264 Event-Handling 265 268 Zugreifen auf HTML-Elemente 251 252 ASP.NET AJAX-Serversteuerelemente 5 AutocompleteExtender (Control Toolkit) 206 Button (Futures Release) 257 CalenderExtender (Control Toolkit) 213 CheckBox (Futures Release) 257 Cliensteuerelemente aus dem Namensraum Sys.Preview.UI 248 CollapsiblePanelExtender 214 Datenbindung, ASP.NET 270 DragPanelExtender 197 HyperLink (Futures Release) 255 Image (Futures Release) 254 Label-Steuerelement (Futures Release) 252 ModalPopupExtender (Control Toolkit) 217 NoBot (Control Toolkit) 219 ScriptManager 16, 18, 19 ScriptManagerProxy 21 Select (Futures Release) 258 TabContainer 221 TabPanel 221 TextBox (Futures Release) 261 WebPartManager 406 WebPartZone 406 Window-Steuerelement (Futures Release) 248 251 zugreifen auf mit $find( )-Funktion 196 StringBuilder-Klasse 86 Strings JavaScript-Methoden 27 replace( )-Methode 32 Strings (JavaScript) ASP.NET AJAX-Erweiterungen 442 Stringverkettungsoperator (+) 30 style-eigenschaft (DOM) 437 substring( )-Methode 27 switch-anweisung (JavaScript) 29 Sys.Debug-Methoden 430 Sys.Preview.UI-Namensraum 247 T TabContainer/TabPanel-Steuerelemente 221 Tabelle (HTML), Daten binden an 334 337 tabindex-eigenschaft (DOM) 438 <table>-element 341 <tagmapping>-element 405 tagname-eigenschaft (DOM) 438 Tag-Präfix für Erweiterungssteuerelemente 232 TagPrefix-Eigenschaft 186 TargetControlID-Eigenschaft 227 Tastatur-Events, benutzerdefiniertes Erweiterungssteuerelement 229 <tbody>-element 335 <td>-element 334 <template>-element 331 Text in HTML-<span>-Element stecken 41 text/xml-content-type-header 56 text/xml-script 278 TextBoxMaskBehavior-Klasse 228 TextBoxMask-Erweiterungssteuerelement (Beispiel) einbetten in ASP.NET-Seite 232 Extender-Klasse 226 Projektdateien 226 Tab-Präfix in ASP.NET-Seite registrieren 232 template.js-datei 227 verwenden 232 TextBox-Steuerelement (Futures Release) 248, 261 Daten binden an Label-Steuerelement 272 274 <tfoot>-element 335 <thead>-element 335 Timer-Steuerelement 126, 446 title-eigenschaft (DOM) 438 Toolkit Patch Utility 233 top- und left-properties 383 ToString-Transformierer 271 456 Index

Transformierer 271 benutzerdefinierte, bei Datenbindung verwenden 275 277 in programmatischer Datenbindung verwenden 272 277 XPathBridgeTransformer 369 Transparenz 377 <tr>-element 334 Triggers-Element 445 Type-Klasse 73 typeof-operator 48 <typevalidator>-element 291 typevalidator-klasse 287 U UI (Benutzerschnittstelle), reaktiveres aufbauen 3 Und-Operator (&&) 28 Undurchsichtigkeit eines Elements ändern 378 unit-property 384 Update( )-Methode (UpdatePanel) 128 UpdateMode-Attrobit (UpdatePanel) 129 UpdateMode-Eigenschaft (UpdatePanel) 445 UpdatePanel-Steuerelement 120, 445 Aktualisierungsmodus festlegen 129 asynchrone Anfragen verwalten 133 Eigenschaften 445 Event-Trigger definieren 127 ID für Intellisense-Unterstützung in Visual Studio 122 laufende Anfrage abbrechen 133 Liste kompatibler Steuerelemente 125 regelmäßig aktualisieren 126 RenderMode-Eigenschaft 121 Update( )-Methode 128 UpdateMode-Attribut 129 Wartefenster anzeigen 130 weniger Daten zwischen Client/Server austauschen 129 UpdateProgress-Steuerelement 131, 445 upperbound-eigenschaft (rangevalidator) 292 URLs, JavaScript 25 useservice( )-Methode 110 V validatevalue-attribut (customvalidator) 294 <validationerrorlabel>-element 288 visibilitymode-eigenschaft 294 <validationgroup>-element 298 <validators>-element 288 Validierer 287 benutzerdefinierte 293 serverbasierte Einsetzen mit UpdatePanel- Steuerelement 287 Validierung Formularübermittlung verhindern 300 Validierungssteuerelement gruppieren 298 Validierungssteuerelemente 287 303 Variablen (JavaScript) 26 für Eigenschaften benutzerdefinierter Erweiterungen definieren 228 Vererbung 4, 36, 76 77 abgeleitete Klassen 77 80 Vergleichsoperator (==) 29 Vergleichsoperatoren (JavaScript) 29 Verhalten 304 317 ClickBehavior 305 308 <layout> 384 <opacitybehavior> 384 Timer 316 Virtual Earth 4 Visual Studio 2005 7 Debugging mit 424 428 Visual Web Developer 2005 Express Edition (siehe VWD) VWD (Visual Web Developer) 7 herunterladen und installieren 8 W Wartefenster 130 Web Development Helper, Internet Explorer- Browsererweiterung 424 Web.config-Datei <authenticationservice>-element 151 <profile>-element 137 <profileservice>-element 139 <tagmapping>-element 405 anpassen für Authentifizierung 149 anpassen für Profile 137 Anwendungsschlüssel speichern 368 Debugging-Modus aktivieren 429 Profildienst konfigurieren 314 Profileigenschaften einzeln veröffentlichen 144 Tagverweise umleiten 405 Webparts-Steuerelemente registrieren 406 Index 457

WebPartManager-Steuerelement 406 WebPartManager-Steuerelement, DisplayMode- Property 407 Webparts 404 409 ASP.NET AJAX-Webpart-Steuerelemente direkt verwenden 406 Dokumentation, ASP.NET-Webparts-Seiten 405 Drag-and-Drop-Funktionalität 407 Steuerelemente in Web.config-Datei registrieren 406 vorhandene ASP.NET-Tags neu auf ASP.NET AJAX abbilden 405 WebPartManager-Steuerelement 406 WebPartZone-Steuerelement 406 Zonen 406 WebPartZone-Steuerelement 406 WebService.asmx (Beispiel) 15 webservice.htc-datei 110 Webservices Ergebnisse mit XPath verarbeiten 369 371 Ergebnisse mit XSLT transformieren 357 366 Error-Handling 91, 91 95 externe, konsumieren Amazon-Webservice 352 357 Google-Webservice 345 352 Jahoo!-Webservice 367 374 Inline-Methoden 96 99 Sitzungszustand pflegen 99 103 Zugriff mit JavaScript 109 118 Internet Explorer 109 112 Internet Explorer- und Mozilla-Browser 116 118 Mozilla-Browser 112 116 Websteuerelemente 247 while-scheife (JavaScript) 31 Windows Presentation Foundation (WPF) 271 Windows, Fiddler-Tool 113 Window-Steuerelement (Futures Release) 248, 248 251 write( )-Methode 25 write( )-Methode (Document) 438 writeln( )-Methode (Document) 438 WSDL Amazon-wsdl-Datei 353 GoogleSearch.wsdl-Datei 346 X XML 4 Webservice-Ergebnisse, transformieren in HTML 357 366 zurückgeliefert von Mozilla-Aufruf an Webservice 113 XmlBridgeTransformer-Klasse 358 XMLDocument-Objekt 45 62 Daten mit JavaScript, DOM und Ajax lesen/schreiben 60 62 Inhalt setzen oder neue HTML-Elemente erzeugen 58 Neulesen aus Daten 58 XMLHttpRequest-Objekt 4, 45, 46 56 Eigenschaften und Methoden 434 435 Geschichte 46 programmieren 47 Standards und 47 Zugriff auf entfernte Server in einer anderen Domain 56 XML-Schema integer-datentyp 112 xml-script <Animation>-Element 190 <customvalidator>-element 294 <listview>-element 330 <validators>-element 288 Animationen zusammensetzen 386 benutzerdefinierte Datenquellen erzeugen 340 Elemente mit LengthAnimation bewegen 384 Event-Handling konfigurieren 280 Fade-Animation 380 in Datenbindung verwenden 278 287 <listview>-element 321 XPath, Webservice-Ergebnisse auslesen mit 369 XPathBridgeTransformer-Transformierer 369 <xsl:output>-element, omit-xml-declaration- Attribut 359 XSLT 4 Webservice-Ergebnisse transformieren 357 366 XsltBridgeTransformer-Klassen 358 Y Yahoo!-Webservice 366 374 Anwendungen registrieren 366 458 Index