如何在ASP.NET MVC中呈现HTML字符串?

cam*_*ron 49 asp.net razor asp.net-mvc-3

在我的主页上,我有代码@{Html.RenderPartial("_Partial1.cshtml");},在我的Partial上,我有一个HTML字符串:

@{ 
    // The string is actually dynamic, not static. This is here for simplicity
    string abc="<div class=\"error\">abc</div>";
} 
@abc
Run Code Online (Sandbox Code Playgroud)

我想输出abc一些CSS错误样式,但我实际上得到了<div class="error">abc</div>- 当然,没有样式.如何将其解释为HTML源代码而不是字符串?

Nic*_*ler 118

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

  • 这绝对是惊人的.提示如果你想要渲染的.html文件改为使用:@ Html.Raw(File.ReadAllText(Server.MapPath(<htmlpath>))) (6认同)
  • 这是一个危险的答案。请参阅 https://en.wikipedia.org/wiki/Cross-site_scripting (2认同)
  • @user1794106 只要您不从请求的某些部分填充变量,就不会。Razor 视图变量完全在本地范围内的服务器上进行评估。 (2认同)