转换C#列表<int[]>使用Razor将其转换为JavaScript

Convert C# List<int[]> to JavaScript using Razor

本文关键字:转换 Razor JavaScript 使用 列表 lt int gt      更新时间:2023-09-26

如何将整数数组列表从C#转换为JavaScript?有办法解析它吗?我尝试了一些类似的东西:

@List<int[]> linkedRazorResources = Model.LinkedEvents;
for(var i = 0; i<@linkedRazorResources.Count;i++){
  linkedResources[i] = @linkedRazorResources[i];
}

不过,我似乎无法访问@linkedRazorResources[i]中的索引。

您可以在.cshtml:中使用Html.RawJson.Encode方法

 <script type="text/javascript">
        var linkedRazorResourcesForJs = @Html.Raw(Json.Encode(linkedRazorResources));
 </script>

您可以在.js文件中使用此变量。

Json.Encode将数据对象转换为JSON中的字符串。然后Html.Raw返回不是HTML编码的标记。

尝试JSON编码:

@Html.Raw(Json.Encode(linkedRazorResources))

这将输出原始的JavaScript对象,您可以直接在JavaScript <script>标记中使用它。

您可以执行以下操作,

 <script type="text/jscript">
   var jsonVariable =      @(Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(linkedRazorResources)));//using Newtonsoft
  //or you can use below
  //var jsonVariable = @Html.Raw(Json.Encode(linkedRazorResources))
  </script>