2016-04-24 4 views
2

Einfache Frage, die Zeichenfolge im Speichern in meine Datenbank verwendet char (10), um neue Zeile darzustellen, ich möchte es durch <br /> ersetzen, bevor Sie es speichern Die Datenbank wird so als eine tatsächliche neue Zeile angezeigt, wenn ich es in einer HTML-Seite anzeigen.Wie char (10) [sql Server] zu etwas anderem in c ersetzen #

wie soll ich das tun? da es keine char (10) in C#

im mit:

StringName.Replace("char(10)", "<br />"); 

, die nicht funktioniert.

mein Code:

var InscriptionText = Request["InscriptionText"]; 
InscriptionText.Replace("\n", "<br />"); 
var qry = "Instert into .." (normal query) 
db.query(qry); 

i die Daten in der databse sehen dann zu finden, dass sie es ersetzen didnt und seine als "line1line2line3line4" gespeichert

+0

Meinst du 'char (10) = '\ n''? Warum nicht? StringName = StringName.Replace ("\ n", "
"); '. –

+0

Wie kannst du sagen "funktioniert nicht"? Zeigen Sie den Code, wie Sie ihn verwenden. – Shaharyar

+0

Wenn ich "\ n" in einer Aktualisierungsabfrage verwende, funktioniert es nicht, aber char (10) funktioniert gut, ive versuchte \ n in C# auch, hat nicht funktioniert. – user2962142

Antwort

0

Replace Methode gibt eine neue Zeichenfolge zurück, die Sie speichern müssen.

var InscriptionText = Request["InscriptionText"]; 
InscriptionText = InscriptionText.Replace("\n", "<br />"); 
//... 

Aber ich würde Ihnen vorschlagen, nicht die tatsächliche Benutzereingabe zu bearbeiten:

Gerade die zweite Zeile ändern. Speichern Sie es, wie es zu Ihnen kommt. Und ersetzen Sie es, während Sie es dem Benutzer zeigen. Nur ein Vorschlag!

+0

Danke, es hat gut funktioniert, auch ich nahm Ihren Vorschlag. – user2962142

0

In C# können Sie dies tun:

string breakText1 = "Some text without a line break."; 
string breakText2 = "Some text " + Environment.NewLine + "with a line break."; 
string breakText3 = "Some text \nwith a new line."; 
string breakText4 = "Some text \rwith a carriage return."; 

Console.WriteLine("Strings before replace..."); 
Console.WriteLine(breakText1); 
Console.WriteLine(breakText2); 
Console.WriteLine(breakText3); 
Console.WriteLine(breakText4); 

Console.WriteLine("Strings after replace..."); 
Console.WriteLine(breakText1.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />")); 
Console.WriteLine(breakText2.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />")); 
Console.WriteLine(breakText3.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />")); 
Console.WriteLine(breakText4.Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />").Replace("<br /><br />", "<br />")); 

Natürlich könnte dies viel eleganter durchgeführt werden, aber dies bringt die Idee durch und deckt die verschiedenen gebräuchlichen Kombinationen von Wagenrücklauf und/oder Zeilenvorschub ab.