Я заметил, что фактическая последовательность разрывов строк отличается от браузера к браузеру.
Если у вас есть многострочное текстовое поле на странице, и страница отправляется, то:
IE возвращает "\ r \ n", чтобы указать новые строки. FF возвращает «\ n» в этом случае.
Я тестировал его где-то в конце 2006 года, так что теперь он может быть другим.
Я не верю, что это может иметь какое-либо отношение к WebForms и MVC. Оба просто обрабатывают отправленные данные и возвращают их вам как есть.
Если вы хотите как-то обработать и заменить эти символы, имеет смысл делать это в длинном-коротком порядке:
string userText = form["Text"];
userText = userText.Replace ("\r\n", "<br/>").Replace ("\r", "<br/>");