我正在尝试获取一个 asp.net 图表,它的图例允许我在另一个选项卡中打开另一个页面,传递我点击的图表的值。通过执行以下操作,我可以在单击图表时打开另一个选项卡,但它不会传递数据。
Chart2.Series[0].LegendUrl = "chartdetails.aspx";
Chart2.Series[0].Url = "chartdetails.aspx";
Chart2.Series[0].LegendMapAreaAttributes="target=\"_blank\"";
Chart2.Series[0].LegendPostBackValue = "#VALY-#VALX";
Chart2.Series[0].MapAreaAttributes="target=\"_blank\"";
Chart2.Series[0].PostBackValue = "#VALY-#VALX";
如果我省略了 url 和 mapareaattributes,我可以让它转到我能够获取数据的 onclick,将它放在会话变量中并使用 Reponse.Redirect 打开它看到会话变量数据的新页面,但是它不会在另一个选项卡中打开,而是在同一个选项卡中打开。
Chart2.Series[0].LegendPostBackValue = "#VALY-#VALX";
Chart2.Series[0].PostBackValue = "#VALY-#VALX";
protected void Chart2_Click(object sender, ImageMapEventArgs e)
{
HttpContext.Current.Session["VAL"] = e.PostBackValue;
Response.Redirect("chartdetails.aspx", false);
}
我怎样才能让它两者兼得?Response.Redirect 有办法打开一个新标签吗?一些研究让我相信事实并非如此。有没有办法让服务器端 onclick 事件都运行,所以我可以设置会话变量和 chart.series.url 在服务器端点击运行后触发,以便在我打开新选项卡之前设置会话变量?
我觉得这可能是“我不能吃蛋糕也不能吃”的情况。