ASP.NET MVC HTML Escape

Cam*_*ron 1 c# asp.net-mvc

我使用以下内容在视图中显示一些内容: <%= Html.Encode(Model.synopsis) %>

内容概要具有转义的HTML字符,例如存储在数据库中的某些内容如下所示:

&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
anim id est laborum.&lt;/p&gt;
Run Code Online (Sandbox Code Playgroud)

如何更改我的代码以将其显示为HTML?因此,转义的HTML在前端变为HTML.

谢谢.

Vad*_*dim 7

不要使用Html.Encode.做就是了

<%= Model.synopsis %>
Run Code Online (Sandbox Code Playgroud)

Html.Encode对任何特殊的html字符进行编码并将其转义.您可能需要小心并确保通过允许用户输入将由浏览器执行的任何标记来确保您不打开自己的XSS.

此外,对于您想要对输出进行编码的时间,您只需使用<%:标记即可

<%: Model.synopsis %>
Run Code Online (Sandbox Code Playgroud)

相当于

<%= Html.Encode(Model.synopsis) %>
Run Code Online (Sandbox Code Playgroud)