将 c# 视图模型转换为 javascript 模型时转义 HTML 标记
Escape HTML tags when converting c# view model to javascript model
我正在尝试使用 JsonConvert.SerializeObject 将 Razor 中的 C# 模型转换为 javascript 模型。
var brandsCollectionModel = '@(Html.Raw(JsonConvert.SerializeObject(Model)))';
该模型包含许多不同类型的属性。
问题在于其中一些属性包含特殊字符,例如“<、>”。
不幸的是,这会导致 javascript 语法错误:
"SyntaxError: Unexpected token <"
我正在尝试找到一种方法来检测包含特殊字符的 属性 并对其进行编码。
我正在使用 Html.Raw 来防止编码,因为我不想转义将模型转换为 JSON 字符串时生成的双引号。
非常感谢您的帮助。
将序列化模型赋值给js变量。
var data = '@JsonConvert.SerializeObject(Model)';
当模型序列化为Json时,它包含"而不是"字符。因此将其替换为",解析并赋值给js变量。
var jsObj = JSON.parse(data.replace(/"/g,'"'));
我正在尝试使用 JsonConvert.SerializeObject 将 Razor 中的 C# 模型转换为 javascript 模型。
var brandsCollectionModel = '@(Html.Raw(JsonConvert.SerializeObject(Model)))';
该模型包含许多不同类型的属性。 问题在于其中一些属性包含特殊字符,例如“<、>”。
不幸的是,这会导致 javascript 语法错误: "SyntaxError: Unexpected token <" 我正在尝试找到一种方法来检测包含特殊字符的 属性 并对其进行编码。 我正在使用 Html.Raw 来防止编码,因为我不想转义将模型转换为 JSON 字符串时生成的双引号。
非常感谢您的帮助。
将序列化模型赋值给js变量。
var data = '@JsonConvert.SerializeObject(Model)';
当模型序列化为Json时,它包含"而不是"字符。因此将其替换为",解析并赋值给js变量。
var jsObj = JSON.parse(data.replace(/"/g,'"'));