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