Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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#函数_C#_Javascript_Jquery_Highcharts - Fatal编程技术网

将值从Javascript传递回C#函数

将值从Javascript传递回C#函数,c#,javascript,jquery,highcharts,C#,Javascript,Jquery,Highcharts,我在Javascript中使用以下代码段- plotOptions: { series: { cursor: 'pointer', point: { events: { click: function() { hs.htmlExpand(null, { pageOrigin: {

我在Javascript中使用以下代码段-

plotOptions: {
    series: {
        cursor: 'pointer',
        point: {
            events: {
                click: function() {
                    hs.htmlExpand(null, {
                        pageOrigin: {
                            x: this.pageX,
                            y: this.pageY
                        },
                        headingText: this.series.name,
                        maincontentText: 
                                'Value1:' + this.x +
                                ' Value2:' + this.y,
                        width: 300
                    });
                }
            }
        },
        marker: {
            lineWidth: 1
        }
    }
},
这是生成图形的函数的一部分,当用户单击图形上的某个点时,前面的代码将加载一个弹出窗口,其中的值
This.x
This.y
作为正文文本

但是,单击该点后,我需要将
this.x
this.y
传递回C#,以便在函数中使用

我尝试在函数顶部创建两个变量:
var X
var Y
,然后在单击点时在函数中设置它们-

 headingText: this.series.name,
 maincontentText: 
 'Value1:' + this.x +
 ' Value2:' + this.y,
 width: 300
 X = this.x
 Y = this.y
然而,添加这一错误破坏了函数-

Error: 'chart' is undefined

您可以添加两个文本框并设置显示:无

然后从X和Y设置文本框的值,并从代码隐藏中使用它们

var x  = this.x;
var y  = this.y; 
$('#TextBox1').val($('#TextBox1').val().replace($('#TextBox1').val(), x));
$('#TextBox2').val($('#TextBox2').val().replace($('#TextBox2').val(), y));

我相信解决方案可能很简单,就是缺少逗号

用逗号(,)表示值


您遗漏了逗号,这就是其给出错误的原因。

问题在于您将变量与扩展程序的选项弄乱了。这是正确的代码:

           click: function() {

                window.X = this.x;
                window.Y = this.y;

                hs.htmlExpand(null, {
                    pageOrigin: {
                        x: this.pageX,
                        y: this.pageY
                    },
                    headingText: this.series.name,
                    maincontentText: 
                            'Value1:' + this.x +
                            ' Value2:' + this.y,
                    width: 300
                });
            }

到底发生了什么?“破坏了功能”并不能解释这个问题。您是否在控制台中遇到错误,或者调用了服务器端代码,但出现了错误?添加这两行代码会导致错误-“聊天未定义”,但错误在哪里?它是在浏览器的控制台中还是发生在服务器上?它是否告诉您错误所在的代码行?如果是,哪一个?如果你需要帮助,你需要更多的帮助。您需要像我们对您的项目、代码和问题一无所知一样与我们交谈。是的,这已经修复了图表未定义错误,但是我如何将这些值传递给c#?我尝试在Y:this.Y下面添加-document.getElementById('myDiv')。value=X+Y,但是这会返回相同的错误。@Ebikeneser在不知道脚本是如何设置的情况下,很难甚至不可能给您一个答案。然后您还可以隐藏一个.NET按钮,在填充文本框后只需执行$(“#hiddenButton”)。单击()然后回发到服务器。这可能不是最优雅的解决方案,但对我来说很有效。
width: 300,
 X = this.x,
 Y = this.y
           click: function() {

                window.X = this.x;
                window.Y = this.y;

                hs.htmlExpand(null, {
                    pageOrigin: {
                        x: this.pageX,
                        y: this.pageY
                    },
                    headingText: this.series.name,
                    maincontentText: 
                            'Value1:' + this.x +
                            ' Value2:' + this.y,
                    width: 300
                });
            }