Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javascript中的代码隐藏中获取结构的C#列表字段_Javascript_C#_Asp.net - Fatal编程技术网

从Javascript中的代码隐藏中获取结构的C#列表字段

从Javascript中的代码隐藏中获取结构的C#列表字段,javascript,c#,asp.net,Javascript,C#,Asp.net,我想从JS脚本访问一个列表,其中记录是一个结构。经过一点谷歌搜索(特别是这里),我用Json序列化了我的对象,并在脚本中检索它 我应该提到这是我第一次在JS,所以语法可能是完全错误的 在C中# (在我的上下文中,记录实际上位于词典中,但我通过词典隐藏了访问权限,因为我认为它与此处无关) 在Javascript中 <script type="text/javascript"> function setupBarChart() { var x = [];

我想从JS脚本访问一个
列表
,其中记录是一个结构。经过一点谷歌搜索(特别是这里),我用Json序列化了我的对象,并在脚本中检索它

我应该提到这是我第一次在JS,所以语法可能是完全错误的

在C中#

(在我的上下文中,记录实际上位于
词典中,但我通过词典隐藏了访问权限,因为我认为它与此处无关)

在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>

函数setupBarChart(){
var x=[];
变量y=[];
var source=“”;
//我想将记录字段放在y和x选项卡中,将其用作直方图轴的数据。
对于(变量i=0;i
我的问题是:

  • 源的类型是什么?只是一根绳子吗?它是否在JS中创建了一个等价的列表
  • 如何从JS访问我的记录字段
  • source.length是否提供列表中的记录数
源的类型是什么?只是一根绳子吗?它是否在JS中创建了一个等价的列表

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

var source = <%= serializedRecords %>;
现在,类型是一个javascript数组

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

通过
,它是一个数组

source.length是否提供列表中的记录数


是的,如果您丢失了引号,请为错误的语法道歉,第一次是javascript。我理解为什么引号使源代码成为字符串。然而VisualStudio警告我没有引号的语法错误,我肯定忘了其他地方的东西。@YthioCsi不,我认为VisualStudio正在努力解析您的意图-它有效吗?我想我希望我能部署解决方案,但我现在不能。。。无论如何,我在W3School网站上读了一篇关于JS数组的文章,我想知道source是否是一个关联数组,如果是,它会告诉“所有数组方法和属性都会产生错误的结果”,所以source.length无论如何都会返回0,不是吗?(我可以改用foreach,所以这更像是一个问题而不是一个问题)@YthioCsi它只是一个javascript数组-长度可以正常工作;不,您不能使用foreach-javascript没有foreach关键字;有像
forEach
$这样的方法。当然,每个
都可以在每次serializedRecords值更改时更新我的视图吗?像WPF中的INotifyPropertyChange实现一样?在哪里调用
JsonConvert.SerializeObject
?您已声明了
serializedResults
,但正在尝试使用
serializedResults
。看起来像是打字错误。确实是打字错误,这是一个错误。我从ascx.cs调用SerializeObject,它与我编写JS的ascx文件关联。
var source = <%= serializedRecords %>;
var source = [{"foo":123,"bar":"def"},{...},{...}];