获取DisplayFor(m => m.Property)以显示换行符和格式?

时间:2012-05-25 09:34:59

标签: c# asp.net-mvc asp.net-mvc-3 razor

我的View存在问题,因为当我使用TextAreaFor编辑某些内容时,我会保存任何换行符或格式化插件,当我编辑相同的元素时,它仍会显示如下:

  

今年冬天需要一些东西来让家人娱乐吗?还是在寻找完美的圣诞礼物?你会在CD WOW找到它们!

     

有了此优惠,会员可以:

     

•搜索各种音乐,电影,电视,书籍和游戏。

     

•在圣诞节期间直接将最新版本发送到您的门口,并免费在全球范围内发货。

但是当我使用DisplayFor@Model.Property时,它会显示如下:

  

今年冬天需要一些东西来让家人娱乐吗?还是在寻找完美的圣诞礼物?你会在CD WOW找到它们!通过此优惠,会员可以:•搜索各种音乐,电影,电视,书籍和游戏。 •获取圣诞节最新版本,并免费在全球范围内发货。

我应该使用什么来显示TextAreaFor中显示的格式?

3 个答案:

答案 0 :(得分:4)

您可以使用<pre>代码:

<pre>
    @Html.DisplayFor(x => x.Property)
</pre>

另一种可能性是编写一个自定义帮助程序,用\r\n标记替换新行({​​{1}})并使用它:

<br/>

以下是如何定义自定义帮助程序:

@Html.DislpayFormattedFor(x => x.Property)

答案 1 :(得分:1)

只是禁用该字段?这样您就可以使用现有的TextAreaFor

@Html.TextAreaFor(m => m.Property, new { disabled = "disabled" })

答案 2 :(得分:0)

使用&lt; pre&gt;标记或将此css属性添加到div / span标记:

white-space: pre-wrap;

示例:

<div style="white-space: pre-wrap;">
  my
  multiline
  text
</div>