Kategorien:
Suchbegriffe:
Suchfelder:
Suche starten
Neue Beiträge / Top 7
Alle Artikel / Liste
Bücher zu ASP/ASP.Net
Startseite / Hilfe
Fragen zu ASP/ASP.NET
Datenschutzrichtlinen
Impressum / Kontakt
Das ASP.Net Codebook. Die unentbehrliche Referenz für alle ASP.Net-Entwickler [Autoren: Stefan Falz, Karsten Samaschke]
Active Server Pages-FAQ
Active Server Pages - FAQ (v. 1.50) © 2000 - 2020 by Stefan Falz Webconsulting

GetFile! Dynamischer Dateiupload im Browser

Datenbankzugriffe Zurück Druckversion Stefan Falz 21.01.2002
Frage: Warum erscheinen bei der Ausgabe eines Memofelds keine Zeilenumbrüche?
Wenn Sie Ihren Usern in einem Formular mehrzeilige Textfelder bereitstellen, möchten Sie
im Normalfall den eingegebenen Text auch wieder inkl. der eingegebenen Zeilenumbrüche
ausgeben. Da ein Zeilenumbruch aber als in HTML nicht darstellbares Sonderzeichen
CHR(13) & CHR(10) oder als VBScript-Konstante vbCrLf gespeichert wird, müssen Sie
diesen zuerst in einen HTML-konformen Zeilenumbruch (<br>) umwandeln.

Hierfür lesen Sie den Inhalt des Text- oder Memofelds, in dem die Daten wahrscheinlich
gespeichert wurde, in eine Variable und ersetzen die entsprechenden Zeichen durch Verwendung
der Funktion Replace.

Nachfolgend ein Beispiel, dass einen Text aus einem Datenbankfeld ausliest, die Zeilenumbrüche
in <br>-Tags umwandelt und den umgewandelten Text danach ausgibt.

In dem Datenbankfeld ist der folgende Text gespeichert:

Hallo Welt.
Ein schöner Tag.

Dies ist die letzte Zeile

[replace.asp]
<%
' --- Code zum Öffnen der Datenbank und des Recordsets
...

' --- Auslesen des Text- oder Memofelds in eine Variable
    strText = objRS.Fields("<text-oder-memofeld>")

' --- Ausgabe des Variableninhalts vor der Umwandlung
    Response.Write "<p>Originaltext:"
    Response.Write strText
    Response.Write "</p>"

' --- Ersetzen der Zeilenumbrüche in der Variable
    strText = Replace(strText, vbCrLf, "<br>")

' --- Ausgabe des Variableninhalts
    Response.Write "<p>Geänderter Text:"
    Response.Write strText
    Response.Write "</p>"

' --- Weiterer Code (Schliessen des Recordsets und der Connection)
...

%>

Die Ausgabe erscheint dann folgendermassen auf dem Bildschirm:

Originaltext:
Hallo Welt.Ein schöner Tag.Dies ist die letzte Zeile

Geänderter Text:
Hallo Welt.
Ein schöner Tag.

Dies ist die letzte Zeile


Wie man sieht, wird bei der Ausgabe des ungeänderten Textes der gesamte Text in einer
Zeile ausgegeben. Die Zeilenumbrüche werden ignoriert. Nach der Ersetzung der Umbrüche
durch <br>-Tags wird der Text wieder richtig angezeigt.
Sollten Sie den Text allerdings in eine Textarea schreiben (z.B.: zur Bearbeitung durch
Ihre User) dürfen Sie die Zeilenumbrüche nicht durch <br> ersetzen, sondern den Text
genauso wie er gespeichert ist, wieder dort ausgeben.

Sehr gut
1 2 3 4 5 6
Ungenügend
Zurück | Bisherige Aufrufe: 19729 | Bisherige Bewertungen: 55 | Durchschnitt: 1,42
Stefan Falz Webconsulting