Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 6 HTML-Serversteuerelemente
|  | 6.1 System.Web.UI.LiteralControl
|  | 6.2 Die HTML-Serversteuerelemente. Vererbungshierarchie und gemeinsame Eigenschaften
|  | 6.3 Die Klasse HtmlImage
|  | 6.4 HtmlContainerControl und abgeleitete Klassen
|  |  | 6.4.1 Die Basisklasse HtmlContainerControl
|  |  | 6.4.2 HtmlGenericControl
|  |  | 6.4.3 HtmlAnchor
|  |  | 6.4.4 HtmlTable, HtmlTableRow und HtmlTableCell
|  |  | 6.4.5 HtmlForm
|  |  | 6.4.6 HtmlButton
|  |  | 6.4.7 HtmlSelect
|  |  | 6.4.8 HtmlTextArea
|  | 6.5 HtmlInputControl und abgeleitete Klassen
|  |  | 6.5.1 Ein Beispiel mit mehreren Eingabeelementen
|  |  | 6.5.2 HtmlInputButton
|  |  | 6.5.3 HtmlInputImage
|  |  | 6.5.4 HtmlInputFile
|  |  | 6.5.5 HtmlInputText
|  |  | 6.5.6 HtmlInputCheckBox
|  |  | 6.5.7 HtmlInputRadioButton
|  |  | 6.5.8 HtmlInputHidden
## 6.3 Die Klasse HtmlImage HtmlImage ist das einzige HTML-Serversteuerelement, das direkt von HtmlControl abgeleitet ist. Das ist aber auch seine einzige Besonderheit. Ansonsten bietet diese Klasse einfach eine Heimat für das vertraute img-Element. Über die Eigenschaften können Sie die Größe des Bildes, die Datenquelle, den Rahmen, die Ausrichtung und den Alternativtext beeinflussen. Tabelle 6.5 listet die Eigenschaften detailliert auf.
Name der Eigenschaft | Typ | Beschreibung
--- | --- | ---
Align | String | Ausrichtung des Bildes. Zur Verfügung stehen die Werte left, center, right, top, middle und bottom.
Alt | String | Alternativtext für das Bild
Border | Integer | Rahmenbreite in Pixeln
Height | Integer | Höhe in Pixeln oder als Prozentangabe
Src | String | Pfad zur Bilddatei
Width | Integer | Bildbreite in Pixeln oder als Prozentangabe
Tabelle 6.5 Eigenschaften der Klasse HtmlImage Das Beispiel-Skript in HtmlImage01.aspx ermöglicht die stufenweise Vergrößerung und Verkleinerung eines Bildes. Abbildung 6.3 zeigt die Darstellung im Browser. Hier klicken, um das Bild zu Vergrößern Abbildung 6.3 Mit der HtmlImage-Klasse können Sie Eigenschaften von Bildern serverseitig beeinflussen.
    <!-- HtmlImage01.aspx -->
    <%@ Page Language="VB" Debug="True" Strict="True"  %>
    <script runat="server">
    Sub Page_Load (ByVal Sender As Object, _
                   ByVal E As EventArgs)
       If Not IsPostBack Then
          meinBild.src = "img/benjaminampc.jpg"
          meinBild.height=400
          meinBild.border=1
          zeigeHoehe (meinBild.height)
       End If
    End Sub

    Sub btnGroesser_Click  (ByVal Sender As Object, _
                            ByVal E As EventArgs)
       Dim groesse_alt As Integer = meinBild.height
       Dim groesse_neu As Integer = _
                         CInt(CDbl(meinBild.height) * 1.1)
       If groesse_neu = groesse_alt Then
         groesse_neu += 1
       End If
       meinBild.height=groesse_neu
       zeigeHoehe (groesse_neu)
    End Sub

    Sub btnKleiner_Click  (ByVal Sender As Object, _
                           ByVal E As EventArgs)
       meinBild.height = _
                CInt(CType(meinBild.height, Double) * 0.9)
       zeigeHoehe (meinBild.height)
    End Sub

    Sub zeigeHoehe (ByVal inHoehe as Integer)
       meinAbsatz.innerText = _
                       "Höhe: " & CStr(inHoehe) & " Pixel"
    End Sub
    </script>
    <html><head><title>HtmlImage-Demo</title></head>
    <body>
    <form runat="server">
    <p><img runat="server" id="meinBild"></p>
    <p>
    <input runat="server" type="submit" id="btnGroesser"
           value=" 10 % Größer "
           onServerClick="btnGroesser_Click">
    <input runat="server" type="submit" id="btnKleiner"
           value=" 10 % Kleiner "
           onServerClick="btnKleiner_Click">
    </p>
    <p runat="server" id="meinAbsatz" ></p>
    </form></body></html>
Im HTML-Abschnitt der aspx-Datei wird ein img-Element definiert, aber ohne Eigenschaften wie die Datenquelle oder die Größe festzulegen. Dafür sorgt die Ereignisprozedur Page_Load, die beim erstmaligen Laden (If Not IsPostBack) die Ausgangswerte für das Bild festlegt. Über src wird die Datenquelle festgelegt. Die Höhe wird auf 400 Pixel festgesetzt und ein 1 Pixel breiter Rahmen wird um das Bild gezogen. Der Anwender kann durch Anklicken der jeweiligen Schaltfläche das Bild um zehn Prozent vergrößern oder verkleinern. Unterhalb der Schaltflächen wird die aktuelle Höhe des Bildes in Pixeln angezeigt. Das Attribut onServerClick="btnGroesser_Click" verknüpft die Schaltfläche btnGroesser mit dieser Ereignisprozedur. btnGroesser_Click berechnet den neuen Wert, indem es den alten Wert mit 1,1 multipliziert. Anschließend vergleicht die Prozedur den neuen mit dem alten Wert. Wenn beide identisch sind, wird der Wert um 1 erhöht. Damit wird das Problem umgangen, dass bei sehr kleiner Höhe, z. B. wenn ein Bild nur noch 4 Pixel hoch ist, die Multiplikation mit 1,1 und anschließender Rundung auch wieder nur 4 ergibt. Die Schaltfläche würde in diesem Fall nichts mehr bewirken. Da das Skript die Option Strict="True" verwendet, müssen alle Konvertierungen explizit durchgeführt werden. So kommt es zu der Zeile
       Dim groesse_neu As Integer = _
                         CInt(CDbl(meinBild.height) * 1.1)
Weil meinBild.height vom Typ Integer ist, muss es für die Multiplikation mit 1,1 zunächst mit CDbl in einen Wert vom Typ Double konvertiert werden. Da die Höhe des Bildes an mehreren Stellen im Programmcode geändert wird, sorgt die Prozedur zeigeHoehe für eine einheitlich gestaltete Ausgabe des entsprechenden Hinweistextes.
Achtung Warum Double? Weil ein Literal mit Nachkommastellen – und das ist 1,1 – automatisch als Wert vom Typ Double angesehen wird. Für die Zuweisung zu groesse_neu benötigen wir aber einen Wert vom Typ Integer, der mit CInt erzeugt wird. CInt führt dabei automatisch eine Rundung durch, die zu dem oben beschriebenen Problem führen kann.
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

Copyright © Galileo Press GmbH 2003
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.

[Galileo Computing]
Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de