2010-07-06 5 views
0

Sur la page aspx J'ai asp: textbox multilined, où je tape des données. Quand je cède TextBox1.Text à une chaîne que je reçois quelque chose comme ceci:Affichage du texte affiché avec sauts de ligne

"line1\r\nline2\r\nline3" 

Mais si je tente de le remettre à la lettre, je reçois:

line1 line2 line3 

(sans la ligne Barkes)

Comment le résoudre? Est le seul moyen de remplacer le \ r \ n avec <br />?

Une note: Si je stocke l'entrée dans la base de données (sqlserver), et ouvre la table dans sql studio de gestion -> edit rows-> je vois string line1line2line3 (tous ensemble), mais si essayer de copier dans le presse-papiers content (Ctrl + C) seule la ligne 1 est copiée! Pourquoi?
En outre, si je lie ces données à un répéteur, et Eval ("myfield") à répéteur, je reçois la ligne de frein!

Répondre

1

En C#

string htmlFormattetText = textStringFromDB.Replace("\r\n","<br />") 

ou dans SQL

SELECT REPLACE(TextCol,'\r\n','<br />' FROM MyTable 
+0

mais pourquoi si je sauvegarde l'entrée dans la base de données et puis la récupère, cela fonctionne sans aucun remplacement? – shlomjmi

+0

Pouvez-vous poster le code qui semble fonctionner? Et dans ce cas, je ne comprends pas le problème. Je pensais que vous ne pouviez pas obtenir les sauts de ligne lorsque vous mettez en sortie le \ r \ n en html, ce qui est par conception, html recherche seulement
pour les sauts de ligne. Pouvez-vous clarifier? –

+0

Je veux dire Si j'insère le contenu de la boîte de texte dans la base de données, puis le charger dans un div je reçois le texte avec des freins de ligne – shlomjmi

0

est ici l'affaire. Votre entrée est comme ceci:

J'ai asp: textbox multilined

Mais votre sortie est comme ceci:

J'essaie de le remettre à la lettre

Un contrôle littéral rend juste le format html brut et le format html brut ignore les sauts de ligne. La zone de texte multiligne est affichée en tant qu'élément html textarea et la valeur d'une zone de texte respecte les sauts de ligne.

Questions connexes