C# - 从资源中读取和显示HTML

13

.NET 4、VS 2010、C#、MVC 3。

在我的资源文件中,我有:

First line.<p />Second line.
我通过 Razor 从视图中读取它:
@Translations.Example

但是我的p还是p - 换句话说,它们不会被渲染为HTML。

为什么呢?


2
出于安全原因,默认情况下呈现编码的内容是一个很好的点。这将避免许多JS代码注入攻击。当您使用@Html.Raw时,您决定呈现HTML原始内容...然后您还确保呈现的HTML是安全的。相比之下,如果呈现不是默认编码的,则每次用户输入内容并在某个地方呈现时,您都必须确保内容是安全的...这很痛苦和危险,因为很多开发人员“忘记”确保用户输入的安全性。 - Steve B
1
基本上,只有在您知道内容是安全的情况下才调用Html.Raw。 - Jack Marchetti
3个回答

19

@Html.Raw(Translations.Example)

6
尝试使用 Raw 扩展方法。
@Html.Raw(Translations.Example)

0
尝试这样做:@Html.Raw(YourResourceFile.KeyInTheResourceFile)

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