Intelligenz lässt sich nicht am Weg, sondern nur am Ergebnis feststellen.– Garry Kasparov Kapitel26 JavaScript goes .NETIn Kapitel 20 haben Sie bereits Microsofts .NET-Technologie anhand eines Web Service im Einsatz gesehen. In diesem Kapitel gehen wir einen Schritt weiter und werfen einen Blick über den Tellerrand: In .NET können Sie sogar mit JavaScript programmieren! Genauer gesagt, in Microsofts JavaScript-Dialekt JScript. Die .NET-Anpassung der Sprache wurde von den Redmondern schlichtJScript.NETgetauft. Die Web-Abteilung von .NET heißt ASP.NET – Sie wissen sicherlich, dass ASP für Active Server Pages steht und die alte Microsoft-Technologie für die serverseitige Skriptprogrammierung ist. Als Voraussetzungen benötigen Sie dieselbe Software, die schon in Kapitel 20 für .NET Web Services (Version 1.x) genannt wurde: einen Microsoft IIS-Webserver sowie das .NET Framework. Standardmäßig wird der Webserver meist so installiert, dass die .NET-Dateien inc:\inetpub\wwwroot abgelegt werden. Eine ASP.NET-Seite hat die Endung.aspx, deswegen enden auch alle Dateien in diesem Kapitel so. Im Webbrowser rufen Sie dann die Datei überhttp://localhost/dateiname.aspx auf (und nicht über den Pfadnamen auf der Festplatte). Auch mit ASP.NET 2.0 und dem Visual Web Developer können Sie in JScript.NET entwickeln, allerdings hilft Ihnen die Entwicklungsumgebung nicht dabei. Die Sprache wird aber weiterhin von ASP.NET 2.0 an sich unterstützt. An dieser Stelle gebe ich nur einen groben Überblick über einige der Möglichkeiten von ASP.NET/JScript.NET. Für weiterführende Informationen sollten Sie Spezialliteratur lesen.
26.1 Erste Schritte   Nun wollen wir die Funktionstüchtigkeit von ASP.NET an kleineren Beispielen ausprobieren. Zunächst einmal muss ASP.NET mitgeteilt werden, dass in JScript.NET programmiert werden soll (der Standard ist nämlich eine andere Microsoft-Sprache, Visual Basic). Das geht mit folgender Anweisung: <%@ Page Language="JScript" %> Skriptcode wird in ASP.NET vor dem eigentlichen HTML-Code angebracht, und zwar innerhalb der folgenden Tags: <script runat="server">// hier kommt der Skriptcode hin</script> Besonders wichtig ist hier das Attributrunat="server". Jedes Element, das dieses Attribut hat, ist für ASP.NET sichtbar. Aber auch das Gegenteil gilt: Wenn Sie dieses Attribut vergessen, kann ASP.NET mit dem Element nichts anfangen. Lassen Sie es beispielsweise beim<script>-Tag weg, so wird der dort platzierte Code für clientseitigen JavaScript-Code gehalten und von ASP.NET nicht angerührt. ASP.NET ist zudem komplett objektorientiert, Sie müssen also alles überMethoden abhandeln. Hilfreich ist hier die reservierte MethodePage_Load(). Diese wird beim Laden der Seite ausgeführt (sie ist also eine Art Pendant zum clientseitigen Gegenstückonload). Hier folgt ein kleines Beispiel. Die AnweisungResponse.Write() ist dasserverseitige Gegenstück zudocument.write() von #"Xxx999416"><%@ Page Language="JScript" %><script runat="server">function Page_Load() { Response.Write("ASP.NET ist einfach zu erlernen");}</script><html><head> <title>ASP.NET</title></head><body></body></html> Wie zu erwarten, gibt dieses Skript den gewünschten Text aus.  Hier klicken, um das Bild zu Vergrößern
Abbildung 26.1 Das erste ASP.NET-Skript Interessant ist ein Blick auf den erzeugten HTML-Quellcode: ASP.NET ist einfach zu erlernen<html><head> <title>ASP.NET</title></head><body></body></html> Sie sehen: Der Text wurdevor dem HTML-Code ausgegeben; der (serverseitige)<script>-Block ist verschwunden: Er wurde auf dem Webserver interpretiert, und das Ergebnis seines Codes, nämlich die Textausgabe, wurde an den Browser geschickt. Es gibt noch eine weitere, sehr bequeme Möglichkeit, Text mit ASP.NET auszugeben. Dazu müssen Sie zunächst ein textfähiges HTML-Element erstellen, beispielsweise<p> oder<div> oder<span>. Geben Sie diesemElement eine eindeutige ID sowie das schon bekannte Attributrunat="server". Hier ein Beispiel: <p runat="server">Text ...</p> Der Clou: Über die ID können Sie nun auf das HTML-Element zugreifen,und zwar von ASP.NET aus. Dessen EigenschaftInnerHtml entspricht der EigenschaftinnerHTML (beachten Sie die unterschiedliche Schreibweise), die neuere Versionen des Internet Explorer und Netscape Navigator kennen: Absatz.InnerHtml = "HTML-Zugriff leicht gemacht"; Hier sehen Sie ein komplettes Listing: <%@ Page Language="JScript" %><script runat="server">function Page_Load() {Absatz.InnerHtml = "HTML-Zugriff leicht gemacht";}</script><html><head> <title>ASP.NET</title></head><body><p runat="server">Text ...</p></body></html> Hier klicken, um das Bild zu Vergrößern
Abbildung 26.2 Der Text wird im<p>-Element ausgegeben. Wie Sie sehen, wird der Text im Webbrowser ausgegeben. Werfen wir wieder einen Blick auf den erzeugten HTML-Quellcode: <html><head> <title>ASP.NET</title></head><body><p>HTML-Zugriff leicht gemacht</p></body></html> Sie stellen fest: Wieder ist der<script>-Block verschwunden; innerhalb des<p>-Elements steht jetzt der angegebene Text (dasrunat="server" ist ebenfalls nicht mehr da). |