从Javascript

时间:2017-04-06 10:56:38

标签: javascript c# asp.net

我想从JS脚本访问其中Records是结构的List<Records>。经过一些谷歌搜索(特别是question 29098558)我Json序列化我的对象并在脚本中检索它。

我应该首先在JS上提及它,所以语法可能完全错误。

在C#中

  string serializedResults = JsonConvert.SerializeObject(RecordsList);

(在我的上下文中,记录实际上是Dictionnary<string, Records>但是我通过词典隐藏了访问权限,因为我认为它在这里并不相关)

在Javascript中

<script type="text/javascript">
    function setupBarChart() {
        var x = [];
        var y = [];
        var source = "<%= serializedRecords %>";

        // I would like to put Records fields in y and x tab to use it as data for the axes of an histogram.
        for (var i = 0; i < source.length; i++) {

        }  
    }
</script>

我的问题是:

  • 源的类型是什么?它只是一个字符串?它是否在JS中创建了List的等效项?
  • 如何从JS访问我的记录字段?
  • source.length是否为我提供了列表中的记录数?

1 个答案:

答案 0 :(得分:1)

  

源的类型是什么?它只是一个字符串?它是否在JS中创建了List的等效项?

在显示的代码中,它是一个字符串,但我认为显示的代码非常错误 - 引号不正确,应删除,以:

var source = <%= serializedRecords %>;

(注意,我不打算在上面编码,但是:小心并检查它是否安全)

离开(在渲染的html中):

var source = [{"foo":123,"bar":"def"},{...},{...}];

现在这个类型是一个javascript数组。

  

如何从JS访问我的记录字段?

通过source,这是一个数组

  

source.length是否为我提供了列表中的记录数?

是的,如果你丢失了引号