Di Ritorno a capo/Avanzamento Riga in .Net File Di Risorse (App_GlobalResources)
-
06-09-2019 - |
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.
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 spingereEnter
. 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>