Domanda

Sto tenendo una serie di testi in un' App_GlobalResources.resx file.

I testi devono essere multi-linea e ho bisogno che li contengono avanzamenti di riga.Tuttavia, quando ho letto il contenuto, tutti gli avanzamenti di riga sono andato (\r\n è stampato, non come CRLF 10 13 carattere di controllo).

So che potrei risolvere questo re-sostituzione \r\n (o qualsiasi altra cosa per quella materia) torna a CRLF quando ho letto il contenuto, ma mi chiedevo il perché di questi chiaramente testo mirati i file resx ignorare i caratteri di controllo e CRLF è una specie di importante, e se qualcuno sa se c'è un impostazione o qualcosa che potrebbe consentire di lavorare in modo naturale.

È stato utile?

Soluzione

Ho usato VB.NET Express Edition per testare questo.

Nel editor di risorse (in cui è possibile specificare il nome del contenuto delle risorse e la stringa) mettere il contenuto della stringa separati da Maiusc + Invio .

Diciamo che si desidera digitare

hello  
world

Tipo "ciao" seguito da Maiusc + Invio e "mondo".

Se si guarda il file Resources.resx (che è un file XML), si può vedere che si crea un nodo con il xml:space="preserve" attributo.

2 ° opzione

Inoltre, è possibile modificare il Resources.resx manualmente e modificare il contenuto di essere sotto sezione CDATA.

Si supponga che avete la stringa denominata "esempio". Ricercarlo nella Resources.resx e modificare il contenuto di avere sezione CDATA all'interno di esso come contro avere un semplice valore.

per es.

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

Altri suggerimenti

Usa Maiusc + Invio per inserire una nuova riga.

Quando si utilizza il resx interfaccia di progettazione

  • Se si sono effettivamente digitare il testo nel file resx poi si usa

    Shift+Inserire

    come osservato in altre risposte.

  • Se si incolla il testo in resx - Visual Studio incollare il testo nello stesso formato come già è (tra cui gli "a capo" / multiline).

Quando si apre il file resx in formato XML

(individuare il file resx utilizzando la funzione trova e sostituisci..quando si sceglie il file da 'risultati della ricerca' del pannello, VS aprire il file resx in XML)

Qui è possibile aggiungere un testo a piacere (in valore i tag) e la formattazione verrà conservato.

Bene, che cosa ha funzionato nella mia situazione stava usando un tag <br> in questo modo:

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

C'è un post con maggiori informazioni qui: Mettere un'interruzione di linea in un file di risorse rESX

Se vi capita di essere utilizzando la vista del motore Razor con ASP.NET MVC è necessario utilizzare:

@Html.Raw(ResourceFile.ResourceString)

in modo che stampi il <br> come HTML.

E 'possibile modificare il file *.resx con un editor di testo per aggiungere a capo.

Si può fare anche all'interno di Visual Studio:

  • Fare clic destro sul file di risorse
  • Fare clic per Open with ...
  • Seleziona XML (Text) Editor with Encoding
  • Fare clic OK
  • Fare clic di nuovo OK per la codifica di selezione (auto-detect)
  • Cerca il nome (chiave) del testo (ad esempio "MY_TEXT")
  • Modificare il testo all'interno del tag <value>. Per interruzione di linea solo spingere Enter. Nota: Rimuovere gli spazi iniziali dopo interruzione di riga. In caso contrario, essi sono inseriti, anche.

Testato con Visual Studio 2017.

Esempio:

  <data name="MY_TEXT" xml:space="preserve">
    <value>Line 1
Line 2
Line 3</value>
  </data>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top