我正在使用MVC 4我有一个字符串存储在SQL Server中作为varchar(Max)我的模型中的数据注释指定DataType(DataType.MultilineText)。我认为用于显示这种类型文本的助手不会仅仅将它全部吐出一行,但是当我使用基本脚手架在页面上显示时,多行文本框中的所有格式都不会出现。但是当我在crud方面编辑该描述时,格式确实会显示出来。为什么开箱即用这么难。我可以使用MVC 4或5解决方案。我认为它们会相似。
我使用以下方法在我的页面上显示:
@Html.DisplayNameFor(model => model.InstructionEn)
&安培;
@recipe.RecipeInstructionsEn
我正在考虑用新标记取代新标记可能会有效。但是我该怎么做呢?我知道New line格式化就在那里。
我还考虑过使用降价,但不知道从哪里开始。
答案 0 :(得分:4)
您需要使用HTML格式(\n
)替换纯文本换行符(<br />
):
@Html.Raw(recipe.RecipeInstructionsEn.Replace("\n", "<br />"))
使用Html.Raw
会阻止Razor应用的默认HTML编码。没有它,换行实体将显示为“&lt; br /&gt;”而不是充当HTML换行符。