在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: \"0001\"}, {field1: \"0002\"}]
我尝试过使用HttpUtility.JavaScriptStringEncode(),但是返回了一个类似的问题。
发布于 2020-07-03 18:40:31
您需要使用RawString而不是默认HtmlEncodedString
var table = [@Raw(json)];https://stackoverflow.com/questions/62713639
复制相似问题