У меня возникают проблемы с отображением возвратов в таблице html, он возвращается как одна строка.
Я получаю данные из базы данных sql 2012, но это странно, потому что, когда я редактирую данные в текстовой области, она показывает результаты.
Есть идеи?
public ActionResult Details(int id = 0)
{
WorkoutModel workoutmodel = db.WorkoutModels.Find(id);
if (workoutmodel == null)
{
return HttpNotFound();
}
return View(workoutmodel.WorkoutDetails.Replace(System.Environment.NewLine, "<br />"));
}
При отображении данных из базы данных вам необходимо заменить разрывы строк на разрывы строк HTML, используя приведенный ниже код.
return View(workoutmodel.WorkoutDetails.Replace("\r\n", "<br />")
.Replace("\n", "<br />")
.Replace("\r", "<br />"));
В текстовых областях будут отображаться правильные результаты, но вам придется анализировать результаты разрывов в HTML.
Как в:
My text with a \r\nLine break.
становится:
My text with a <br />Line break.
Я прохожу этот маршрут, потому что "\n" является частью новой строки в основных операционных системах (Windows\r\n, Mac и * nix\n). Он заменяет символ \n и очищает все, что может быть оставлено (не то, что они вообще не имеют никакого вреда, оставленного в HTML).
valueFromDb.Replace("\n", "<br />").Replace("\r", "");
workoutmodel.WorkoutDetails
останова и посмотрите, что именно является значениемworkoutmodel.WorkoutDetails
Environment.NewLine
иногда имеет проблемы. Я обновил решение.