2009-02-05 28 views
24

Estoy tratando de imprimir un mensaje en una página web en vb.net. Estoy tratando de obtener los mensajes en nuevas líneas. Intenté usar el "\ r \ n" y el nuevo carácter de línea. Pero esto se está imprimiendo en la página en lugar de ir a la siguiente línea. Por favor, avíseme si hay alguna alternativa.¿Nuevo carácter de línea en VB.Net?

Respuesta

11

Debe usar HTML en una página web para obtener saltos de línea. Por ejemplo, "< br/>" le dará un salto de línea.

5
+0

esto no va a hacer nada para un entorno web. Necesita una etiqueta

51

Consulte Environment.NewLine. En cuanto a las páginas web, rompa las líneas con las etiquetas <br> o <p></p>.

+0

Quiere decir etiquetas ¿no? –

+0

+1 para trabajar en todos los entornos – TruthOf42

+0

Felicitaciones por ofrecer la solución

- es la mejor aquí, en mi humilde opinión. – jinzai

2
VbCr 

Probar eso.

+4

VbCr = "\ r". vbCrLf = "\ r \ n" y es mucho más común – JaredPar

5

es:

vbnewline

por ejemplo

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

+0

Esto funcionó perfectamente en una expresión de cuadro de texto de Reporting Services. –

34

Environment.NewLine es el más ".NET" camino o Si obtiene el personaje, también emitirá un retorno de carro y avance de línea en Windows y solo un retorno de carro en Unix si esto le preocupa.

Sin embargo, también puede usar el estilo VB6 vbCrLf o vbCr, dando un retorno de carro y avance de línea o simplemente un retorno de carro respectivamente.

+4

¿Por qué el voto a favor? –

+0

Sospecho que si bien su respuesta aborda cómo obtener el carácter de nueva línea que no es realmente la respuesta que necesita la persona que pregunta. Lo que realmente necesita es un salto de HTML. Como ha sido cubierto por otras respuestas. Ninguna de las respuestas que solo hablan de NewLine realmente están respondiendo la pregunta. – andynormancx

+0

Aunque, dicho esto, la pregunta es increíblemente poco clara. Supongo que "imprimir un mensaje en una página web" _debería decir que está intentando usar alert() o msgbox() en la página web, lo que lo convertiría en una pregunta completamente diferente. – andynormancx

8

Si está utilizando algo como esto.

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

y la salida es

Hello\r\nWorld\r\n 

entonces usted es básicamente buscando algo como esto

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

Esta es la salida

Hello 
World 

también puede simplemente definir " < br/> "como constante y reutilizarlo

por ejemplo.

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

Si quiere hacer todo, incluso podría crear una subclase de entorno y agregarle la HtmlNewLine ... –

+0

:) sí John. También podemos agregar como métodos de extensión si es necesario. –

15

La forma correcta de hacer esto en VB es usar una de las constantes de VB para las líneas nuevas.Los tres principales son

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

VB por defecto no permite cualquier código de escape de caracteres en cadenas que sea diferente a los lenguajes como C# y C++ que sí lo hacen. Una de las razones para hacer esto es la facilidad de uso cuando se trata de rutas de archivos.

  • C++ cadena de ruta de archivos: "c: \\ \\ foo bar.txt" cadena de ruta
  • archivo VB: "c: \ foo \ bar.txt"
  • C# cadena de ruta de archivos: C++ forma u @ "c: \ foo \ bar.txt"
+0

-1 para ... Esta es una respuesta completamente válida y correcta – JaredPar

+0

Estos métodos están desprotegidos en .NET y se debe usar el estándar Environment.NewLine. Y dado que el OP estaba mirando ASP.NET, estas constantes no funcionarían de todos modos. Las etiquetas HTML
son la forma correcta de proporcionar la solución buscada. –

+0

Me refería a las constantes de estilo VB6. Solo para que seamos claros. Sin embargo, aún no habría votado a favor de esto. –

1

En este caso, puedo usar vbNewLine, vbCrLf o "\r\n".

3

puede resolver ese problema en Visual Basic .NET sin concatenación de su texto, puede utilizar esto como un tipo de retorno de ToString sobrecargado:

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

En asp.net para dar carácter de nueva línea en la cadena de debe usar <br>.

Para la aplicación de base de ventana Environment.NewLine funcionará bien.

+0

esta es la respuesta correcta ahora soy capaz de escribir mensajes de cadena en una nueva línea con la ayuda de la etiqueta
. – sahdeo

1

vbCrLf es una reliquia de Visual Basic 6 días. Aunque funciona exactamente igual que Environment.NewLine, solo se ha mantenido para que la aplicación .NET se sienta más familiar para los desarrolladores de VB6.

Puede llamar a la función String.Replace() para evitar la concatenación de muchos valores de cadena única.

MsgBox ("primera línea \ n segunda línea." Reemplazar ("\ n", Environment.NewLine).)

Cuestiones relacionadas