首页 > 解决方案 > 如何将 ViewModel 数据传递给 JavaScript 文件?

问题描述

我的Dictionary<string, List<string>>控制器中有一个,我在/wwwroot/view-resources中有一个 js 文件,所以如何将字典传递给 js 文件

我试过var result = '@Model.Dic'了,我得到了一个字符串类型的变量@Model.Dic,

我也尝试过使用隐藏的输入value="@{@Model.EditList}",我得到了结果

System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.String]]

我将 abp 与 .netcore 一起使用

标签: asp.net-coreaspnetboilerplate

解决方案


  1. 在 C# 中将字典序列化为 JSON 字符串。
  2. 在 JavaScript 中解析 JSON 字符串。
// View.cshtml

using Newtonsoft.Json;

<script>
var jsonString = '@JsonConvert.SerializeObject(Model.Dic)';
var dictionary = JSON.parse(jsonString);

console.log(dictionary);
</script>

推荐阅读