2011-08-29 54 views
12

.NET 4,VS 2010,C#,MVC 3C# - 读取和显示HTML从资源

在我的资源文件,我有:

First line.<p />Second line. 

我从视图中阅读它通过剃刀:

@Translations.Example 

但我的p保持p的 - 换句话说,他们不会呈现为HTML。

为什么?

+1

这是一个很好的点,出于安全原因,内容默认呈现编码。这将避免大量的JS代码注入攻击。当您使用@ Html.Raw时,您决定呈现HTML原始内容......然后您也确保呈现的HTML是安全的。相比之下,如果渲染没有默认编码,您必须确保每次用户输入内容时您的内容都是安全的,您渲染的地方......痛苦和风险,因为很大一部分开发人员“忘记”以确保用户输入安全 –

+0

基本上,只有在知道内容安全时才调用Html.Raw。 –

回答

18

@Html.Raw(Translations.Example) 
+0

也谢谢你... – Alex

4

尝试使用Raw扩展方法

@Html.Raw(Translations.Example) 
+0

正是!谢谢。 – Alex

0

试试这个:@ Html.Raw(YourResourceFile.KeyInTheResourceFile)