.Replace (Environment.NewLine, "«) - PullRequest
       2

.Replace (Environment.NewLine, "«)

3 голосов
/ 15 февраля 2011

Почему .Replace(Environment.NewLine, "<br />") дает такой результат:

asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad

1 Ответ

6 голосов
/ 15 февраля 2011

Возможно, потому что между "multiline" и "asdad" больше одной новой строки.

* ** 1003 тысяча два * Пример
var someText = string.Format("First line{0}Second line{0}Multiple line breaks{0}{0}{0}some text", Environment.NewLine);

var html = someText.Replace(Environment.NewLine, "<br />");

HTML теперь будет выглядеть так:

First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text

Редактировать

В вашем случае ваша веб-страница будет отображать <br /> в веб-браузере, а не создавать новую строку, поскольку она кодирует вывод html.

Вам нужно будет использовать HtmlString, попробуйте это:

<div class="display-field">
    <%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %>
</div>

Также смотрите эту ветку здесь, в StackOverflow, где говорится о "ASP.NET MVC Razor - выходная строка HTML не экранирована" .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...