从数据库显示文本时保持空白

Edd*_*ley 3 razor asp.net-mvc-3

我正在建立一个显示表格值的表格.其中一个字段来自textarea输入.

如果我使用此方法,则保留空格:

@Html.TextAreaFor(model => model.goalDescr, new { cols="90", rows="3", @readonly = "true"})
Run Code Online (Sandbox Code Playgroud)

- 例:

那里

- 例子

但是,我不喜欢这种观点,因为它仍然看起来像一个表格领域.我尝试使用displayfor,但删除了空格,所有文本都是一行.

@Html.DisplayFor(model => model.goalDescr)
Run Code Online (Sandbox Code Playgroud)

- 例:

- 例子

有没有办法在我的视图中,在表单元素之外显示文本,并保持空白?

Ste*_*e B 8

将您的数据库内容包装到预标签中

<pre>
 All whitespaces      and linebreaks
are preserved

</pre>
Run Code Online (Sandbox Code Playgroud)

  • 另外,如果你不喜欢自动格式化`<pre>`并且想要保持你继承的样式,只需使用带有`style ="空格的`<span>`或`<div>`:pre-wrap ;"属性.我发现这是一个更优雅的解决方案. (3认同)

Han*_*nna 6

正如Steve B的回答所说,你可以<pre>用来维持空白.

但是,如果您不喜欢自动格式化<pre>,并希望保留继承的样式,只需使用<span><div>使用style="white-space:pre-wrap;"属性.我发现这是一个更优雅的解决方案.

现场演示