Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 26 JavaScript goes .NET
  gp 26.1 Erste Schritte
  gp 26.2 HTML Controls
  gp 26.3 Web Controls
  gp 26.4 Validation Controls
  gp 26.5 Fazit


Rheinwerk Computing

26.3 Web Controls  toptop

Wie Sie sehen konnten, kann eine bestehende HTML-Seite relativ schnell für ASP.NET umgestellt werden: Alle Elemente, die serverseitig modifiziert werden sollen, müssen mit runat="server" versehen werden.

Die Firma Microsoft versucht jedoch schon seit Jahren – und das ziemlich erfolglos – die Entwicklung von Windows-Anwendungen der Entwicklung von Web-Anwendungen anzugleichen. Die Idee lautet: Wenn die Anwendungen ähnlich erstellt werden können, wird aus einem guten Windows-Entwickler sofort ein fähiger Web-Entwickler. Über diese Folgerung kann man streiten, dennoch gibt es immer wieder Ansätze von Microsoft-Entwicklungsumgebungen, die sowohl für Standalone-Programme als auch für Webseiten verwendet werden können.

Der vorerst letzte Höhepunkt dieser Bestrebungen ist bei ASP.NET realisiert worden und in Visual Studio besonders offensichtlich zu beobachten: Microsoft hat eigene Tags eingeführt, die so genannten Web Controls. Diese beginnen immer mit <asp: und ähneln vom Namen her Windows-Elementen. Hier ein Beispiel: Bei der Windows-Programmierung (mit Visual Studio, aber auch mit Konkurrenzprodukten) steht ein Label-Element immer für einen Text. Nun gibt es bei ASP.NET »zufällig« das Web Control <asp:Label>. Auch hier ist wieder runat="server" Pflicht, und auch hier erfolgt der Zugriff wieder über das id-Attribut. Der einzige Unterschied zu den zuvor gezeigten HTML Controls ist eine andere Eigenschaft für den Text; hier heißt sie Text. Folgendes Beispiel illustriert das:

<%@ Page Language="JScript" %>
<script runat="server">
function Page_Load() {
   Ausgabe.Text = "Web Controls sind recht praktisch";
}
</script>

<html>
<head>
   <title>ASP.NET</title>
</head>
<body>
<asp:Label id="Ausgabe" runat="server" />
</body>
</html>

Tags für Web Controls müssen immer abgeschlossen werden, entweder wie gezeigt mit .../> oder mit dem zugehörigen End-Tag. Das wäre hier </asp:Label> gewesen.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 26.4     Die Ausgabe – wie erwartet

Der Text wird ausgegeben, womit Sie sicherlich gerechnet haben; der HTML-Quellcode im Browser sorgt jedoch für eine kleine Überraschung:

<html>
<head>
   <title>ASP.NET</title>
</head>
<body>
<span id="Ausgabe">Web Controls sind recht praktisch</span>
</body>
</html>

Das Web Control wurde also in ein entsprechendes HTML-Element umgewandelt, und zwar in <span>!

Das Beispiel von oben mit dem Mini-Formular lässt sich recht schnell umschreiben. Die Tücken stecken hier im Detail: Die Control-Namen sind neu, und das gilt auch für die Namen der Eigenschaften, über die der Zugriff auf die Formulardaten erfolgt. Deswegen sehen Sie hier ohne weiteren Kommentar den entsprechenden Code:

<%@ Page Language="JScript" %>
<script runat="server">
function Ausgabe(o: Object, e: EventArgs) {
   var s: String;
   s  = "Name: " + Name.Text + "<br />";
   s += "E-Mail: " + Email.Text + "<br />";
   s += "Buch: " + Buch.SelectedItem.Value;
   Absatz.Text = s;
}
</script>

<html>
<head>
   <title>ASP.NET</title>
</head>
<body>
<form runat="server">
Name: <asp:TextBox id="Name" runat="server" /><br />
E-Mail: <asp:TextBox id="Email" runat="server" /><br />
Buch: <asp:DropDownList id="Buch" runat="server">
   <asp:ListItem Value="JS7" Text="JavaScript-Handbuch, 7. Auflage" />
   <asp:ListItem Value="AS" Text="Einstieg in ActionScript" />
   <asp:ListItem Value="WS" Text="Web Services – Grundlagen" />
   <asp:ListItem Value="WSPHP" Text="Web Services mit PHP" />
</asp:DropDownList>
<asp:Button Text="Versenden" OnClick="Ausgabe" runat="server" />
</form>
<asp:Label id="Absatz" runat="server" />
</body>
</html>

Aber Web Controls sind nicht nur ein Pendant zu HTML Controls, sie gehen auch weiter. Ein besonders aussagekräftiges Beispiel hierfür ist das folgende dreizeilige Listing:

<form runat="server">
   <asp:Calendar runat="server" />
</form>

Die Browserausgabe sehen Sie in Abbildung 26.5.

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 26.5     Das Calendar-Web-Control im August 2006

Es wird also ein Kalender erzeugt, der sich automatisch im richtigen Monat befindet (es ist auch möglich, den aktuellen Tag zu markieren). Die drei Zeilen ASP.NET-»Code« haben zu etwa 30 Zeilen HTML-Code geführt, der aus über 6500 Zeichen besteht. Damit ist klar, dass Web Controls nicht nur ein Ersatz für HTML Controls sein sollen, sondern eine Erweiterung sind.

 <<   zurück
  
  Zum Rheinwerk-Shop
Neuauflage: JavaScript
Neuauflage: JavaScript
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern