在MVC Razor View中不呈现换行符

时间:2013-10-25 03:48:18

标签: html asp.net asp.net-mvc razor

我在控制器中生成了以下字符串值。

 cc.lstchat = "Reply the Number with your question... <br />";

                foreach (clsChat item in lstchat)
                {

                    cc.lstchat =cc.lstchat + item.DisplayNumber+". " + item.ChatItem+" <br/> ";
                }

现在我正在尝试在视图中的div标签内显示上面的字符串值,但它不会渲染换行符。

<div id="divChat" style="width:400px;height:300px;border:double">
           @Model.lstchat.ToString()
       </div>

enter image description here

3 个答案:

答案 0 :(得分:15)

尝试使用@Html.Raw方法

@Html.Raw(Model.lstchat)

答案 1 :(得分:4)

使用Html.Raw()它用于将任何字符串呈现为HTML。

`@Html.Raw("input data in here is rendered as HTML only")`

答案 2 :(得分:0)

由于HTML注入,请谨慎使用@Html.Raw()(例如,我的评论将是<script>...</script> test-立即使用XSS。如果您只想换行,请考虑this answer:< / p>

@Html.Raw(Html.Encode(Model.CommentText).Replace("\n", "<br />"))