C# 首次使用后,使用OnClientClick打开图表窗口失败

C# 首次使用后,使用OnClientClick打开图表窗口失败,c#,asp.net,C#,Asp.net,我将VS2015与Windows10和C#一起使用。我的应用程序有4个选项,所有选项都在同一个窗口中串行执行,在gridview中显示输出;某些选项还显示一个按钮,用于在单独的窗口中绘制选定行。 在选项之间切换很好,第一次使用图表也很好。我的问题是,当我关闭图表窗口,运行其他选项,然后返回到一个图表,按钮点击失败。此时将显示一个带有图表图标的窗口,因此OnClientClick似乎已运行,但OnClick从不执行,并且图表未填充 我不懂Java,所以不知道如何调试它。有人能建议一个不使用Java

我将VS2015与Windows10和C#一起使用。我的应用程序有4个选项,所有选项都在同一个窗口中串行执行,在gridview中显示输出;某些选项还显示一个按钮,用于在单独的窗口中绘制选定行。 在选项之间切换很好,第一次使用图表也很好。我的问题是,当我关闭图表窗口,运行其他选项,然后返回到一个图表,按钮点击失败。此时将显示一个带有图表图标的窗口,因此OnClientClick似乎已运行,但OnClick从不执行,并且图表未填充

我不懂Java,所以不知道如何调试它。有人能建议一个不使用Java的修复方案或替代方案吗

下面是点击按钮的关键代码

<asp:Button 
   ID="GoChart" 
   CssClass="button" 
   runat="server" 
   Text="Select, then Chart" 
   Visible="false" 
   Style="border-radius: 0.4em; width: 9em; float: left; margin-left: 1px; color: white;" 
   ToolTip="Select a row in the grid, then click here to chart the row. " 
   OnClick="GoChart_Click1" 
   OnClientClick="window.open('NewChart.aspx','_blank');return false"/>

第二次使用图表按钮时,永远不会到达GoChart_Click1

谢谢你的帮助。

OnClientClick="window.open('NewChart.aspx','_blank');return false"

Return false将停止服务端单击按钮。如果您希望在客户端之后执行服务端操作,请单击删除
返回false
部分。

OnClientClick="window.open('NewChart.aspx','_blank');return false"


Return false将停止服务端单击按钮。如果您希望在客户端单击后执行服务端操作,请删除
返回false
部分。

实际上不应执行功能
GoChart\u Click1
,因为在
OnClientClick
中,您返回false,指示浏览器不执行要调用的按钮的默认行为
GoChart\u单击1

删除
返回false以便执行
GoChart\u Click1

但是,我认为这不会解决您的问题,因为我不知道您如何从
GoChart\u Click1
中使用新打开的窗口

我想您需要共享
GoChart\u Click1
的源代码和
NewChart.aspx
的源代码,以获得更详细的答案


我认为无论您在
GoChart\u Click1
中有什么填充图表的代码,都最好直接放在
NewChart.aspx.cs
中的加载事件中。

函数
GoChart\u Click1
实际上不应该执行,因为在
OnClientClick
中,您返回错误信号,表示浏览器不运行执行按钮的默认行为,即调用
GoChart\u Click1

删除
返回false以便执行
GoChart\u Click1

但是,我认为这不会解决您的问题,因为我不知道您如何从
GoChart\u Click1
中使用新打开的窗口

我想您需要共享
GoChart\u Click1
的源代码和
NewChart.aspx
的源代码,以获得更详细的答案


我想无论你在
GoChart\u Click1
中有什么填充图表的代码,最好直接放在
NewChart.aspx.cs
中的load事件中。

如果你要的是一个非Java的解决方案,不要将它标记为Java。我想你指的是javascript。您需要发布用于创建对象和处理单击的代码。如果您要求的是非Java的解决方案,请不要将其标记为Java。我想您指的是javascript。您需要发布用于创建对象和处理单击的代码。谢谢,但是“return false”会打开图表窗口,保留原始窗口不变,这样当我关闭它时,我可以返回网格并选择另一行来绘制图表。如果删除“return false”,图表窗口将替换原始窗口。GoChart\u Click1只包含Response.Redirect(“~/NewChart.aspx”);谢谢,你说得对,GoChart_Click1从未执行过。“return false”加载一个新窗口,保留原始窗口不变,因此我可以返回网格绘制另一行。如果我删除它,图表窗口将替换原来的,我将丢失网格。第一次通过后,GoChart_Click1找不到NewChart.aspx.cs的页面,该页面中填充了图表,因此我得到一个带有图表图标的空白窗口,没有图表。为什么连续使用Go_Chart1无法到达NewChart.aspx.cs非常感谢您帮助我更好地理解OnClient Click@彼得·雷戈里不客气,你可以将问题标记为正确,它与布朗有关;Chrome和Firefox都能正确执行,IE 11就是问题所在。由于我是StackOverflow的新手,您如何标记答案;我看到向上/向下箭头提供1或2。我是将两个正确答案都标上,还是只标1?谢谢,但是“return false”会打开图表窗口,保留原始窗口不变,这样当我关闭它时,我可以返回网格并选择另一行来绘制图表。如果删除“return false”,图表窗口将替换原始窗口。GoChart\u Click1只包含Response.Redirect(“~/NewChart.aspx”);谢谢,你说得对,GoChart_Click1从未执行过。“return false”加载一个新窗口,保留原始窗口不变,因此我可以返回网格绘制另一行。如果我删除它,图表窗口将替换原来的,我将丢失网格。第一次通过后,GoChart_Click1找不到NewChart.aspx.cs的页面,该页面中填充了图表,因此我得到一个带有图表图标的空白窗口,没有图表。为什么连续使用Go_Chart1无法到达NewChart.aspx.cs非常感谢您帮助我更好地理解OnClient Click@彼得·雷戈里不客气,你可以将问题标记为正确,它与布朗有关;Chrome和Firefox都能正确执行,IE 11就是问题所在。由于我是StackOverflow的新手,您如何标记答案;我看到向上/向下箭头提供1或2。我是把两个答案都标上,还是只标1?