gpt4 book ai didi

asp.net-mvc - 如何处理 HTML 编码的 MVC View 中的换行符?

转载 作者:行者123 更新时间:2023-12-02 03:32:40 26 4
gpt4 key购买 nike

我不确定处理这个问题的最佳方法。在我的索引 View 中,我显示 TempData["message"] 中包含的消息。 。这允许我在来自另一个操作时向用户显示某些错误或信息性消息(例如,如果用户在无权访问时尝试输入“编辑”操作,则会将其踢回到索引,并显示以下消息“您无权编辑此数据”)。

在显示消息之前,我运行 Html.Encode(TempData["message"]) 。但是,我最近遇到了一个问题,对于较长的消息,我希望能够通过换行符( <br> )分隔行。不幸的是(显然),<br>编码为Html.Encode所以它不会导致实际的换行。

如何在 Html 编码字符串中正确处理换行符?

最佳答案

我见过的最简单的解决方案是:

@MvcHtmlString.Create(Html.Encode(TempData["message"]).Replace(Environment.NewLine, "<br />"))

如果您使用的是 Razor View ,则不必正常调用 Html.Encode。默认情况下,Razor html 对所有输出进行编码。 From Scott Gu's blog introducing Razor :

By default content emitted using a @ block is automatically HTML encoded to better protect against XSS attack scenarios.

关于asp.net-mvc - 如何处理 HTML 编码的 MVC View 中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com