我在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 />"));
}
答案 0 :(得分:1)
文本区域将正确显示返回,但您必须解析HTML中的中断返回。
如:
My text with a \r\nLine break.
变为:
My text with a <br />Line break.
答案 1 :(得分:1)
在显示数据库中的数据时,您必须使用以下代码将换行替换为HTML换行符。
return View(workoutmodel.WorkoutDetails.Replace("\r\n", "<br />")
.Replace("\n", "<br />")
.Replace("\r", "<br />"));
答案 2 :(得分:0)
我选择这条路线是因为“\ n”是主要操作系统换行符的一部分(Windows \ r \ n,Mac和* nix \ n)。它取代\ n字符并清除可能留下的任何\ r \ n(而不是它们通常会在HTML中留下任何伤害)。
valueFromDb.Replace("\n", "<br />").Replace("\r", "");