javascript - 如何修复/防止asp.net core View 中的JS代码被转义

标签 javascript asp.net asp.net-core

我有一个 ASP.Net Core 项目,在一个页面上我获取了一些从数据库中提取的“数据”,目的是写入 JavaScript block 内的 View 中。文本中包含引号和与号,并且是有效的 JS。代码按以下方式编写在 View 中:

<script type="text/javascript">

    // Other script

    <text>
    @item.MyData   // The data I'm writing, if I set a breakpoint here
                   // on the server side when the view is run,
                   // the text is as I expect it to be, with quotes 
                   // preceded by a \, less than signs, ampersands, etc.
    </text>

</script>

但是,当这个字符串到达​​页面时,引号、小于/大于以及其他所有内容都被转义了,我得到了“&”之类的内容。不确定这些是如何/在哪里转义的。任何有什么方法可以防止这种情况发生,或者放松它?提前致谢!

最佳答案

您可以使用 IHtmlString 来指示所包含的字符串已被编码。

@(new HtmlString(item.MyData))

关于javascript - 如何修复/防止asp.net core View 中的JS代码被转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45903446/

相关文章:

javascript - 如何通过按钮重定向页面

javascript - 捕捉/监听函数的执行

javascript - Node.js 使用强大的解析表单数据

c# - 带有 ASP.NET MVC 3 的 CSVHelper

asp.net - 在完整的 .NET 框架和 .NET Core 作为 ASP.NET Core 目标之间进行选择吗?

javascript - 如何重定向到 HTML 页面显示文件夹上一级

asp.net - 避免编码到我的 ASP.NET 应用程序中以使其在共享主机上的中等信任下运行的最常见、典型的事情是什么?

c# - Visual Studio 2010 中的 "Allow this precompiled site to be updatable"检查在哪里?

Azure.Cosmos 或 Microsoft.Azure.Cosmos、Azure.Storage.Blob 或 Microsoft.Azure.Storage.Blob?适用于.NET Core 3.1

c# - asp.net core中间件无法捕获newtonsoft异常