2009-02-05 10 views
24

Ich versuche, eine Nachricht auf einer Webseite in vb.net zu drucken. Ich versuche, die Nachrichten in neue Zeilen zu bekommen. Ich habe versucht, das "\ r \ n" und das neue Zeilenzeichen zu verwenden. Dies wird jedoch auf der Seite gedruckt, anstatt in die nächste Zeile zu gelangen. Bitte lassen Sie mich wissen, wenn es eine Alternative gibt.Neues Zeilenzeichen in VB.Net?

Antwort

11

Sie müssen HTML auf einer Webseite verwenden, um Zeilenumbrüche zu erhalten. Zum Beispiel "< br/>" gibt Ihnen einen Zeilenumbruch.

5

Versuchen Sie Environment.NewLine.

+0

wird dies für eine Web-Umgebung tun nichts. Sie benötigen ein
Tag –

51

Auschecken Environment.NewLine. Wie für Webseiten, Zeilen mit <br> oder <p></p> Tags brechen.

+0

Sie meinen Tags richtig? –

+0

+1 für die Arbeit in allen Umgebungen – TruthOf42

+0

Kudos zum Angebot der

Lösung - es ist die beste hier, IMHO. – jinzai

2
VbCr 

Versuchen Sie das.

+4

VbCr = "\ r". vbCrLf = "\ r \ n" und ist viel häufiger – JaredPar

5

es ist:

vbnewline

zum Beispiel

Msgbox ("Fst line" & vbnewline & "second line")

+0

Dies funktionierte in einem Reporting Services-Textfeld-Ausdruck perfekt. –

34

Environment.NewLine ist die ".NET" Weg o Wenn Sie das Zeichen erhalten, gibt es unter Windows auch einen Wagenrücklauf und einen Zeilenvorschub und in Unix nur einen Zeilenumbruch, wenn dies für Sie von Interesse ist.

Sie können jedoch auch den VB6-Stil vbCrLf oder vbCr verwenden, wobei Sie jeweils einen Wagenrücklauf und Zeilenvorschub oder nur einen Wagenrücklauf angeben.

+4

Warum der Downvote? –

+0

Ich vermute, weil, während Ihre Antwort adressiert, wie man das Newline-Zeichen erhält, das nicht wirklich die Antwort ist, die der Fragesteller braucht. Was er eigentlich braucht, ist ein HTML-Break. Wie von anderen Antworten abgedeckt wurde. Keine der Antworten, die gerade über NewLine sprechen, beantworten wirklich die Frage. – andynormancx

+0

Obwohl das gesagt ist, ist die Frage unglaublich unklar. Ich denke "drucke eine Nachricht auf einer Webseite" _could_ bedeutet eigentlich, dass er versucht, alert() oder msgbox() auf der Webseite zu verwenden, was es zu einer ganz anderen Frage machen würde. – andynormancx

8

Wenn Sie so etwas verwenden.

Response.Write("Hello \r\n") 
Response.Write("World \r\n") 

und der Ausgang ist

Hello\r\nWorld\r\n 

Dann sind Sie im Grunde auf der Suche nach so etwas wie dieses

Response.Write("Hello <br/>") 
Response.Write("World <br/>") 

erhalten Sie folgende Ausgabe

Hello 
World 

Sie können auch einfach definieren " < br/> "als Konstante und wiederverwenden es

eg.

Public Const HtmlNewLine as string ="<br />" 
Response.Write("Hello " & HtmlNewLine) 
Response.Write("World " & HtmlNewLine) 
+0

Wenn Sie alles rausgehen möchten, könnten Sie sogar die Unterklasse Environment erstellen und die HtmlNewLine dazu hinzufügen ... –

+0

:) yes John. Auch können wir als Extension-Methoden bei Bedarf hinzufügen. –

15

Der richtige Weg, dies in VB zu tun, ist die Verwendung der VB Konstanten für Zeilenumbrüche.Die drei wichtigsten sind

  • vbCrLf = "\ r \ n"
  • vbCr = "\ r"
  • vbLf = "\ n"

VB standardmäßig nicht zulässt Alle Zeichen-Escape-Codes in Zeichenfolgen, die sich von Sprachen wie C# und C++ unterscheiden. Einer der Gründe dafür ist die Benutzerfreundlichkeit beim Umgang mit Dateipfaden.

  • C++ Dateipfad-Stichwort: "c: \\ foo \\ bar.txt"
  • VB Dateipfad string: "C: \ foo \ bar.txt"
  • C# Dateipfad string: C++ So oder @ "c: \ foo \ bar.txt"
+0

-1 für ... Dies ist eine vollständig gültige und korrekte Antwort – JaredPar

+0

Diese Methoden sind in .NET entzogen und der Standard Environment.NewLine sollte verwendet werden. Und da das OP auf ASP.NET schaute, würden diese Konstanten sowieso nicht funktionieren. HTML
Tags sind die richtige Lösung für die gewünschte Lösung. –

+0

Ich bezog mich auf die VB6 Stil Konstanten. Nur so sind wir klar. Ich hätte das trotzdem nicht abgelehnt. –

1

In diesem Fall kann ich vbNewLine, vbCrLf oder "\r\n" verwenden.

3

Sie Ihren Text ohne verketten, dieses Problem in Visual Basic .NET lösen können, können Sie diese als Rückgabetyp des überladenen TOSTRING verwenden:

System.Text.RegularExpressions.Regex.Unescape(String.format("FirstName:{0} \r\n LastName: {1}", "Nordanne", "Isahac")) 
2

In asp.net für in String Zeilenendmarke geben Sie sollten <br> verwenden.

Für Windows-Basisanwendung Environment.NewLine wird gut funktionieren.

+0

das ist richtige Antwort jetzt bin ich in der Lage, String Nachricht in neue Zeile mit Hilfe von
Tag zu schreiben. – sahdeo

1

vbCrLf ist ein Relikt von Visual Basic 6 Tage. Obwohl es genauso funktioniert wie Environment.NewLine, wurde es nur beibehalten, um den VB6-Entwicklern das .NET-API vertrauter zu machen.

Sie können die Funktion String.Replace() aufrufen, um die Verkettung vieler einzelner Zeichenfolgenwerte zu vermeiden.

MsgBox ("erste Zeile \ n zweite Zeile." Ersetzen ("\ n", Environment.NewLine).)

Verwandte Themen