2013-03-21 37 views
35

在我的主页,我的代码@{Html.RenderPartial("_Partial1.cshtml");},并在我的部分,我有一个HTML字符串:如何在ASP.NET MVC中呈现HTML字符串?

@{ 
    // The string is actually dynamic, not static. This is here for simplicity 
    string abc="<div class=\"error\">abc</div>"; 
} 
@abc 

我想一些CSS错误样式输出abc,但事实上,我<div class="error">abc</div> - 当然,那里没有风格。我如何将它解释为HTML源代码而不是字符串?

+1

http://stackoverflow.com/questions/4281424/asp-net-mvc-razor-output-html-string-non-escaped – adt 2013-03-21 13:26:13

+0

'

abc
'有什么问题? – alex 2016-02-11 20:00:25

回答

92

您可以使用Html.Raw()方法。

+5

这真是太神奇了。提示,如果你有一个.html文件,而不是使用:@ Html.Raw(File.ReadAllText(Server.MapPath())) – cgatian 2013-11-19 02:39:57

+0

这是一个危险的答案。看到https://en.wikipedia.org/wiki/Cross-site_scripting – Unw0und 2015-06-14 03:25:22

+0

说我要在剃刀中定义一个全局变量,然后使用@ html.Raw(在这个变量上,因为我想定义它的一些标记和呈现有没有办法有人可以从url设置一个Razor变量的值?我只是想确保这不容易通过URL注入XSS ..谢谢! – eaglei22 2015-12-14 19:34:10

相关问题