【发布时间】: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: \&quot;0001\&quot;}, {field1: \&quot;0002\&quot;}]
我尝试使用 HttpUtility.JavaScriptStringEncode() 但这返回了类似的问题。
【问题讨论】:
标签: javascript c# razor