Я бы сохранил текст как есть в базе данных без преобразования \r\n
в <br/>
:
[Authorize]
[HttpPost]
public ActionResult EditComment(string value, long id)
{
var commenter = User.Identity.Name;
var updateCommnets = db.comments.SingleOrDefault(d => d.id == id && d.commenterName == commenter);
updateCommnets.comment = value;
db.SaveChanges();
return Content(value, "text/plain");
}
Затем я написал бы собственный помощник HTML для форматирования значенийв представлении, если необходимо, чтобы показать эти комментарии.
public static MvcHtmlString FormatComment(this HtmlHelper html, string comment)
{
if (string.IsNullOrEmpty(comment))
{
return MvcHtmlString.Empty;
}
var lines = comment
.Split(
new string[] { Environment.NewLine },
StringSplitOptions.None
)
.Select(x => HttpUtility.HtmlEncode(x))
.ToArray();
return MvcHtmlString.Create(string.Join("<br/>", lines));
}
, а затем в представлении:
@Html.FormatComment(Model.Comment)