C# 在网页或电子邮件上使用换行符时如何正确显示字符串

C# 在网页或电子邮件上使用换行符时如何正确显示字符串,c#,database,linefeed,C#,Database,Linefeed,我有一个保存到数据库的字符串。问题是它仅在我处于编辑模式窗体时显示换行符。当我只是在我的网页中显示它(无编辑)或在电子邮件中使用它时,字符串显示为无换行符,并且全部一起运行(见下图)。我正在使用MVC4和VS2012 谁能告诉我如何让换行符始终显示 该字符串由具有以下代码的表单生成: string LF = " \r\n "; //string LF = Environment.NewLine; // tried this also, did'nt work. string appendComm

我有一个保存到数据库的字符串。问题是它仅在我处于编辑模式窗体时显示换行符。当我只是在我的网页中显示它(无编辑)或在电子邮件中使用它时,字符串显示为无换行符,并且全部一起运行(见下图)。我正在使用MVC4和VS2012

谁能告诉我如何让换行符始终显示

该字符串由具有以下代码的表单生成:

string LF = " \r\n ";
//string LF = Environment.NewLine; // tried this also, did'nt work.
string appendComments = "  ";

                contact.Subject = "Quick Quote";
                appendComments += "Make Sure to Contact Customer by: " + Request.Form["radio"].ToString(); ; 
                appendComments += LF + LF + "CARPET CLEANING: " + LF;
                if ((Request.Form["bedRms"]) != "0") { appendComments += "Bedrooms =" + Request.Form["bedRms"] + ", " + LF; }
                if ((Request.Form["familyRm"]) != "false" || (Request.Form["familyRm"]) == "on" ) { appendComments += "Family Room = Yes, " + LF; }
                if ((Request.Form["livingRm"]) != "false" || (Request.Form["livingRm"]) == "on") { appendComments += "Living Room = Yes, " + LF; }
                if ((Request.Form["diningRm"]) != "false" || (Request.Form["diningRm"]) == "on") { appendComments += "Dining Room = Yes, " + LF; }
                if ((Request.Form["ld-combo"]) != "false" || (Request.Form["ld-combo"]) == "on") { appendComments += "Living/Dining Combo = Yes, " + LF; }
                if ((Request.Form["pets"]) != "false" || (Request.Form["pets"]) == "on") { appendComments += "Pet Spot/Stain Issue = Yes " + LF; }
Here I save it to the database.
换行符在编辑表单中工作:

换行符在网页上显示时不起作用:

换行符在电子邮件上不起作用:

非常感谢你抽出时间来帮助我


谢谢。

如果您想在网页上显示新行,请使用换行标记-

对于网页,您必须将
“\r\n”
替换为

,因为它只识别HTML换行符


对于电子邮件和其他电子邮件,您应该使用
环境.NewLine
而不是
“\r\n”
,因为这将基于容器显示换行符

HTML忽略所有无关的空白,包括换行符


要更改此属性,请使用
标记或
空白:pre
CSS属性。

遗憾的是,您必须根据目标格式将它们替换为正确的内容。例如
用于HTML(页面和电子邮件)或\par用于RTF电子邮件(\n用于纯文本电子邮件)。使用

而不是
\r\n
您有一个XSS漏洞。这非常有效。在将字符串导出到Web表单或电子邮件时,我使用了ViewBag.Comment=strComment.Replace(“\r\n”,“
”),然后在我的视图中使用@Html.Raw(Server.HtmlDecode(@ViewBag.Comments)。效果非常好。非常感谢您的帮助。