Возможно, потому что между "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 не экранирована" .