【问题标题】:How To Convert C# String Quote to Javascript String Quote如何将 C# 字符串引用转换为 Javascript 字符串引用
【发布时间】:2020-07-03 10:36:04
【问题描述】:

在 C# 中,我试图通过 Razor 语法将 DataTable 转换为 Javascript 对象。但是,当将字符串值分配给 Javascript 键时,引号字符串 " 会转换为 Javascript \" 中的 HTML 代码。如何在 Javascript 中保留引用 "

示例代码:

<script type="text/javascript">
    @{
        string json = "";

        foreach (DataRow x in Model.MyDataTable.Rows)
        {
            json += "{field1: \"" + x["field1"].ToString() + "\"},";
        }

        json = json.TrimEnd(',');
    }

    var table = [@json];
</script>

我期望在 Javascript 调试器中看到的内容:

[{field1: "0001"}, {field1: "0002"}]

我得到了什么:

[{field1: \&amp;quot;0001\&amp;quot;}, {field1: \&amp;quot;0002\&amp;quot;}]

我尝试使用 HttpUtility.JavaScriptStringEncode() 但这返回了类似的问题。

【问题讨论】:

    标签: javascript c# razor


    【解决方案1】:

    您需要使用RawString 而不是默认的HtmlEncodedString

       var table = [@Raw(json)];
    

    【讨论】:

    • 太好了,这行得通!仅供参考,因为我使用的是 ASP.NET MVC,所以我需要改用 Html.Raw()
    • 我还要再等2分钟哈哈!
    猜你喜欢
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多