11
votes

Texte ASP.NET avec la caisse de ligne de Multiline-Textbox pour enregistrer dans une base de données

J'ai le système de privatemessage dans ma nouvelle communauté-page.

J'ai une zone de texte multiligne pour le texte d'un message privé. Je sauvegarde ce texte dans une chaîne, cette chaîne dans un Ntext SQL-ColouMMN. J'ai lu ce texte à partir du Ntext SQL-Coloum dans une chaîne et montrez-la dans une étiquette.

Lorsque j'ai 5 chevichets avec le "Entrée" -key dans ma zone multi-lignes, les chevrefeaux disparaîtront dans l'étiquette.

Je ne sais pas où ils sont partis et ce que je fais mal. aucune idée?


0 commentaires

3 Réponses :


25
votes

Tout d'abord, cela enregistre-t-il réellement la ligne se casse à votre table? Si tel est le cas, qu'est-ce que cela les enregistre comme, par exemple \ r \ n ou crlf ou quoi?

Votre étiquette Sortie HTML, la seule chose qui créera une pause est un
code> étiqueter. Donc, vous devez trouver et remplacer tout ce qui est sauvegardé dans la base de données: p> xxx pré>

ou même mieux, faisez-le () avant de l'enregistrer dans la base de données: p >

someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />");


2 commentaires

Merci cela m'a aussi aidé beaucoup :)


Ne sais pas pourquoi, mais dans mon cas, le seul code suivant fonctionne: Label1.text = somedatabasetext.replace ("\ n", "
");



2
votes

Cela fonctionne également:

lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />")


0 commentaires

3
votes

Vous pouvez résoudre ce problème avec CSS. Attribuez ce CSS à votre étiquette:

espace blanc: pré-enveloppement;


0 commentaires