Discussion:
Mehrzeiligen Text mit Label ausgeben
(zu alt für eine Antwort)
Helmut Guenther
2007-01-16 00:37:18 UTC
Permalink
Hallo NG,
mein Text kommt als string aus der Datenbank und soll als:
Label1.text=Zeile1<br />Zeile 2
ausgegeben werden.
Wie ersetze ich am einfachsten CRLF mit <br /> ?

Danke im voraus für ein kleine Beispiel.
Harald M. Genauck
2007-01-16 02:50:37 UTC
Permalink
Hallo Helmut,
Post by Helmut Guenther
Label1.text=Zeile1<br />Zeile 2
ausgegeben werden.
Wie ersetze ich am einfachsten CRLF mit <br /> ?
Danke im voraus für ein kleine Beispiel.
Label1.Text = TextAusDerDB.Replace(vbNewLine, "<br />")


Viele Grüße

Harald M. Genauck

ABOUT Visual Basic http://www.aboutvb.de (Herausgeber)
"visual studio one" - http://www.visualstudio1.de (Chefredakteur)
Stefan Falz
2007-01-16 17:33:21 UTC
Permalink
Hallo Harald M. Genauck,
Post by Harald M. Genauck
Label1.Text = TextAusDerDB.Replace(vbNewLine, "<br />")
Label1.Text = TextAusDerDB.Replace( Environment.NewLine, "<br />" )

würde auch gehen :)
--
Tschau, Stefan
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Harald M. Genauck
2007-01-16 18:54:32 UTC
Permalink
Hallo Stefan,
Post by Stefan Falz
Post by Harald M. Genauck
Label1.Text = TextAusDerDB.Replace(vbNewLine, "<br />")
Label1.Text = TextAusDerDB.Replace( Environment.NewLine, "<br />" )
würde auch gehen :)
Tatsächlich... sooo viele Buchstaben mehr für den gleichen
Informationsgehalt...
;-)

Aber hast Recht. Ich stecke halt zu sehr in VB, während es bei so kleinen
Schnipseln natürlich angebrachter ist, sprachneutraler zu bleiben. (Und das
fehlende Semikolon wird ein C#ler ja noch hinbekommen ;-)


Viele Grüße

Harald M. Genauck

ABOUT Visual Basic http://www.aboutvb.de (Herausgeber)
"visual studio one" - http://www.visualstudio1.de (Chefredakteur)
Helmut Guenther
2007-01-16 22:22:20 UTC
Permalink
Hallo Stefan,

s.replace(Environment.newline, !<br />");
Label1.text=s;

funktioniert leider doch nicht mit C#.

Der string enthält \r\n und die TextBox bricht die Zeile um,
aber Label (und auch Literal) ignorieren den Zeilenumbruch.

Vielleicht muss das Label irgendwie eingestellt werden?
Heigth=50 und Width=300 reichen für eine kleine Meldung aus,
aber ich bekomme nur eine einzeilige Ausgabe.
Bei der TextBox stören die angedeuteten Scollbalken am Rand.

Was kann ich tun?

Helmut
Post by Stefan Falz
Hallo Harald M. Genauck,
Post by Harald M. Genauck
Label1.Text = TextAusDerDB.Replace(vbNewLine, "<br />")
Label1.Text = TextAusDerDB.Replace( Environment.NewLine, "<br />" )
würde auch gehen :)
--
Tschau, Stefan
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Harald M. Genauck
2007-01-16 23:19:01 UTC
Permalink
Hallo Helmut,
Post by Helmut Guenther
s.replace(Environment.newline, !<br />");
Label1.text=s;
funktioniert leider doch nicht mit C#.
Der string enthält \r\n und die TextBox bricht die Zeile um,
aber Label (und auch Literal) ignorieren den Zeilenumbruch.
Vielleicht muss das Label irgendwie eingestellt werden?
Heigth=50 und Width=300 reichen für eine kleine Meldung aus,
aber ich bekomme nur eine einzeilige Ausgabe.
Bei der TextBox stören die angedeuteten Scollbalken am Rand.
Was kann ich tun?
Vielleicht nun erst einmal eindeutig erklären, worum es nun tatsächlich
geht? Geht es jetzt um die Darstellung in einem Label oder in einer
TextBox?

Wenn es um die Darstellung in einem Label geht, und der von der Datenbank
kommende String ein "\r\n" enthält, dann ersetzt Du eben dieses durch das
"<br />":

s.replace("\r\n", "<br />");
Label1.text=s;

Geht es um die Darstellung in einer TextBox, dann ersetzt Du das "\r\n"
durch Environment.NewLine:

s.replace("\r\n", Environment.NewLine);
TextBox1.text=s;


Viele Grüße

Harald M. Genauck

ABOUT Visual Basic http://www.aboutvb.de (Herausgeber)
"visual studio one" - http://www.visualstudio1.de (Chefredakteur)
Thomas Bandt
2007-01-17 00:29:22 UTC
Permalink
Hallo,
Post by Harald M. Genauck
Hallo Stefan,
s.replace(Environment.newline, !<br />");
Label1.text=s;
funktioniert leider doch nicht mit C#.
Der string enthält \r\n und die TextBox bricht die Zeile um,
aber Label (und auch Literal) ignorieren den Zeilenumbruch.
Vielleicht muss das Label irgendwie eingestellt werden?
Heigth=50 und Width=300 reichen für eine kleine Meldung aus,
aber ich bekomme nur eine einzeilige Ausgabe.
Bei der TextBox stören die angedeuteten Scollbalken am Rand.
Was kann ich tun?
HTML lernen. http://de.selfhtml.org

Dann anschauen was aus einem Label und einem Literal wird. Nämlich
reiner Text. Beim Label so wie du es verwendest kommt noch ein
<span />-Tag drumrum.

Soll der Text einer HTML-Seite umgebrochen werden, brauchst du dafür
manuelle Anweisungen, also <br /> oder Absätze (<p />). Eine Textbox
behandelt das für sich selbst.
--
Gruß, Thomas
http://blog.thomasbandt.de/
Albert Weinert
2007-01-17 08:12:39 UTC
Permalink
Hallo Thomas Bandt,
Post by Thomas Bandt
Post by Helmut Guenther
Was kann ich tun?
HTML lernen. http://de.selfhtml.org
http://www.ayende.com/Blog/2007/01/16/ThinkingAboutDevelopers.aspx

Grüße

Albert

Loading...