Почему бы вам не попробовать использовать Environment.NewLine
вместо System.NewLine
.
И это также хорошая практика, чтобы упростить это длинное утверждение new System.Text.UTF8Encoding().GetBytes(csv)
.
csv = csv + model.Id + ','+ fname+ ',' + lname+ ',' + Email + ',' + Phone + System.NewLine;
return File(Encoding.UTF8.GetBytes(csv), "text/csv", "PaymentsChecked.csv");
Это работает правильно, потому что последние два байта - 13 - для возврата каретки ('\ r') и 10 - для новой строки ('\ n').
Если вы все еще не получили новую строку, я, безусловно, могу сказать вам, что это не из-за приведенного выше кода, а, возможно, из-за вашей дальнейшей реализации.