请教在ASP.net Chart饼图上是否可设置链接?

Libra_Chen 2012-05-17 03:52:29
ASP.net C# ,用VS2010自带chart控件pie型,已根据数据库形成饼图。
现在想实现的是,点击饼图中某个扇形(或对应的标签),可以根据此扇形的x值形成QueryString并打开一个新窗口。这个能否实现?谢谢~
...全文
199 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Libra_Chen 2012-05-29
  • 打赏
  • 举报
回复
不知道为什么点击没反应哦
koukoujiayi 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
谢谢。但3楼给的代码和我的问题不太一样
[/Quote]
事实上是一样的,因为不知道要传递什么参数!
下例传递X轴坐标值:可写成这样:
        this.Chart1.Click += new ImageMapEventHandler(Chart1_Click);
for(int j=0;j<Chart1.Series[0].Points.Count;j++)
{
Chart1.Series[0].Points[j].PostBackValue = Chart1.Series[0].Points[j].AxisLabel.ToString();
}

接收并打开一个网页:
    protected void Chart1_Click(object sender, ImageMapEventArgs e)
{
string valX = e.PostBackValue.ToString();
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "window.open('Default.aspx?valX="+valX+"')", true);
}
Libra_Chen 2012-05-17
  • 打赏
  • 举报
回复
谢谢。但3楼给的代码和我的问题不太一样
koukoujiayi 2012-05-17
  • 打赏
  • 举报
回复
//1.在Page_Load中添加Chart1的Click事件,索引每个点:
protected void Page_Load(object sender, EventArgs e)
{
this.Chart1.Click += new ImageMapEventHandler(Chart1_Click);
foreach (Series series in this.Chart1.Series)
{
series.PostBackValue = series.Name + ",#INDEX";
}
}

//2.在Chart1的Click事件下获得点击了第几个点!(加一个Label来显示演示)
protected void Chart1_Click(object sender, ImageMapEventArgs e)
{
string[] input = e.PostBackValue.Split(',');
Label1.Text = "你选中了" + input[0] + "的第 " + (Convert.ToInt16(input[1]) + 1).ToString() + " 点";

}

当然要先引用一下:
using System.Web.UI.DataVisualization.Charting;
Libra_Chen 2012-05-17
  • 打赏
  • 举报
回复
我在chart控件series的url集合直接设置为"~/test.aspx?x=#VALX“是可以的。
现在Button1_Click(object sender, EventArgs e)
{
Chart1.Series[0].Url = "~/test.aspx?x=#VALX&d1=" + d1 + "&d2=" + d2;
...//chart绑定的数据库相关操作
}
是没用的。应该是因为page_load之后,所有针对控件属性的操作都没用。有什么办法可以动态改变chart属性并即时生效?
newxdlysk 2012-05-17
  • 打赏
  • 举报
回复
se_series.Points.Add(new DataPoint(0, (double)x.Value) { Label = x.Value.ToString(), LegendText = se[x.Key - 1].ChinaName, ToolTip = se[x.Key - 1].ChinaName, Url=se[x.Key - 1].FullUrl });

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧