MVC Razor视图中不呈现换行符

8

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

 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


可能是ASP.NET MVC Razor不编码渲染的重复问题。 - Ramesh Rajendran
3个回答

15

尝试使用@Html.Raw 方法

@Html.Raw(Model.lstchat)

4

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

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

2

请注意使用@Html.Raw(),因为会导致HTML注入(例如我的评论将是<script>...</script> test - 这就是一个XSS攻击。如果你只想要换行-考虑这个答案

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接