繁体   English   中英

ASP.NET MVC / JavaScript-从C#安培解码编码的HTML字符串

[英]ASP.NET MVC / JavaScript - Decode Encoded HTML String from C# amper

我正在尝试从JavaScript访问静态HTML。 这是我在做什么:

在_Header.cshtml中:

@{
    string HTMLContent = @Server.HtmlDecode("<div>Hello World</div>");
}

<script type="text/javascript">
    var StaticHTML = @HTMLContent;
</script>

但是,我收到以下错误:

Uncaught SyntaxError: Unexpected token &

当我逐步执行它时,似乎HTMLContent变量正在JavaScript中打印,就像未编码一样。

我在这里想念什么?

当razor在您的视图中执行代码时, @将对C#表达式的值进行编码。 因此,您要避免这样做。 您可以使用不执行任何html编码的Html.Raw方法。

由于您正在将值分配给js变量,因此应将其用引号引起来(单引号或双引号)。

这应该工作。

var StaticHTML = "@Html.Raw(HTMLContent)";
console.log(StaticHtml);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM