使用Microsoft软件图表控件中的MapArea Attributes打开一个新窗口

时间:2011-09-26 12:17:24

标签: c# .net asp.net visual-studio mschart

我正在使用MS asp.net 3.5图表控件(金字塔),点击系列/数据点我需要在新窗口中打开一个URL,比如javascript window.open。

现在我已经尝试了很多,但这不起作用。我无法将javascript提供给数据点。

其次我知道如果需要打开一个新窗口,可以将MapAreaAttributes提供给Series,如下所述

series.MapAreaAttributes= "target='_blank'";

但即使这不起作用????

指导我!感谢

1 个答案:

答案 0 :(得分:1)

我刚才遇到了同样的问题。

以下是解决方案并且有效:

请注意您的代码中使用的是单引号(')。似乎图表控件不允许这样做。让我举一个可以帮助您理解的例子:

假设您有一个JavaScript函数,当用户单击数据(系列)中的列(点)时,该函数会打开一个窗口,显示一些数据。你可以这样做:

Chart1.Series["MySeries"].Points[0].Url = "javascript:void(0)"; //this is just to tell the browser not follow a URL, since you will control this with your javascript

Chart1.Series["MySeries"].Points[0].MapAreaAttributes = "onclick=\"OpenWindow();\""; //this is to set the onclick attribute to fire your javascript function when the user clicks your column.

在第二行代码中的上述示例中,请注意我使用了双引号而不是单引号。如果你这样写:

"onclick=\'OpenWindow();\'"; 

它永远不会奏效!你必须使用双引号......

另外,由于我是C#开发人员,你必须使用\“代码来编写双引号,否则会出现编译错误。

我希望这有帮助!