2013-10-11 4 views
0

У меня есть строка, которую я сохраняю в базе данных. Проблема в том, что он отображает только фид строки, когда я нахожусь в форме режима редактирования. Когда я просто показываю его (без редактирования) на своей веб-странице или использую его по электронной почте, строка выводится без фидов строк, и все они запускаются вместе (см. Рисунки ниже). Я использую MVC 4 и 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. 

Линия подачи Работает в форме редактирования: works in edit form http://www.leadingedgewebsites.com/linefeedworks.jpg

линия подачи не работает при отображении его на веб-странице: Does Not Work on Webpage http://www.leadingedgewebsites.com/linefeednowork.jpg

линия подачи не работает на Email: Does Not Work in email http://www.leadingedgewebsites.com/inemail.jpg

Я действительно ценю, что вы нашли время, чтобы помочь мне.

спасибо.

+1

К сожалению, вы должны заменить их соответствующим _thing_ в соответствии с целевым форматом. Например,
для HTML (страниц и сообщений электронной почты) или \ par для электронных писем RTF (\ n для сообщений электронной почты с обычным текстом). –

+0

Используйте '
' вместо '\ r \ n' –

+1

У вас есть отверстие XSS. – SLaks

ответ

0

Для веб-страниц, которые вы должны заменить ваш " \r\n " с <br />, так как он признает только HTML разрывы строк.

Для электронной почты и других вы должны использовать Environment.NewLine вместо " \r\n ", так как на нем будет отображаться линия на основе контейнера.

+1

Это сработало отлично. При экспорте строки в веб-форму или электронную почту я использовал ViewBag.Comment = strComment.Replace ("\ r \ n", "
"), а затем @ Html.Raw (Server.HtmlDecode (@ ViewBag.Comments) на мой взгляд. Работала отлично. Большое вам спасибо за вашу помощь. – user2789697

0

Если вы хотите, чтобы отобразить новую линию на использование веб-страницы тег разрыва строки - <BR>

1

HTML игнорирует все посторонние пробелы, включая символы новой строки.

Чтобы изменить это, используйте тег <pre> или свойство CSS white-space: pre.

 Смежные вопросы

  • Нет связанных вопросов^_^