Pregunta

Me quedo con varios textos en un archivo App_GlobalResources.resx.

Los textos tienen que ser multi-línea y necesito tenerlos contienen saltos de línea. Sin embargo, cuando leí el contenido, todos los avances de línea se han ido (\r\n se imprime, no como carácter de control CRLF 10 13).

Yo sé que podría solucionar este problema vuelva a reemplazar \r\n (o cualquier otra cosa para el caso) de nuevo a CRLF cuando leí el contenido, pero me preguntaba por qué estos archivos resx claridad de texto orientados ignoran los caracteres de control - y CRLF es una especie de importancia - y si alguien sabe si hay un ajuste o algo que permita que esto funcione de forma natural

.
¿Fue útil?

Solución

He utilizado VB.NET Express Edition para probar esto.

En el editor de recursos (donde se puede especificar el nombre del contenido de recursos y la cadena) poner el contenido de la cadena separados por Mayúsculas + Intro .

Digamos que usted desea escribir

hello  
world

Tipo "hola", seguido de Mayúsculas + Intro y "mundo".

Si nos fijamos en el archivo Resources.resx (que es un archivo XML), se puede ver que se crea un nodo con el xml:space="preserve" atributo.

segunda opción

Además, puede editar el Resources.resx manualmente y modificar el contenido a estar bajo la sección CDATA.

Suponga que tiene la cadena denominada "ejemplo". Búsquelo en Resources.resx y cambiar el contenido de tener sección CDATA en el interior como en contra de tener un valor simple.

por ejemplo.

<data name="example">
<![CDATA[
hello
world
1
2   3
4
]]>  </data>

Otros consejos

Con Mayúsculas + Intro para insertar una nueva línea.

Cuando se utiliza la interfaz del diseñador resx

  • Si en realidad se está escribiendo el texto en el resx entonces se usaría

    Mayúsculas + Intro

    como se ha señalado en otras respuestas.

  • Si pega texto en el resx -. Visual Studio pegar el texto en el mismo formato que ya es (incluyendo saltos de línea / multilínea)

Al abrir el archivo en formato XML resx

(busque el resx usando buscar y reemplazar .. cuando hace clic en el archivo de la 'buscar resultados' del panel, se abrirá el VS resx en XML)

A continuación, se puede añadir texto a su gusto (en las etiquetas de valor) y se conservará el formato.

Bueno, lo que funcionó en mi situación estaba usando una etiqueta <br> como esto:

A text with a line break <br> and this goes in the second line.

Hay un post con más información aquí: Poner un salto de línea en un archivo de recursos resx

Si sucede utilizar la maquinilla de afeitar vista motor con ASP.NET MVC es necesario utilizar:

@Html.Raw(ResourceFile.ResourceString)

para que se imprima el <br> como HTML.

Es posible editar el archivo *.resx con un editor de texto para añadir saltos de línea.

Puede hacerlo incluso dentro de Visual Studio:

  • Haga clic derecho en el archivo de recursos
  • Haga clic para Open with ...
  • Seleccionar XML (Text) Editor with Encoding
  • Haga clic OK
  • Haga clic OK de nuevo para la codificación de selección (auto-detectar)
  • Busque el nombre (tecla) del texto (por ejemplo, "my_text")
  • Editar el texto dentro de la etiqueta <value>. Para saltos de línea simplemente empujar Enter. Nota: Quitar los espacios iniciales después del salto de línea. De lo contrario, se insertan, también.

Probado con Visual Studio 2017.

Ejemplo:

  <data name="MY_TEXT" xml:space="preserve">
    <value>Line 1
Line 2
Line 3</value>
  </data>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top