1

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 を起動するように設定できるので、新しいタブを開く前にセッション変数が設定されます。 ?

これは「ケーキも食べられない」ということなのかなと感じています。

4

2 に答える 2

1

結局のところ、私は自分のケーキを持って食べることができます. Page_Load に url、postbackvalues、legendmapareaattributes を設定し、グラフをクリックして PostBackValue をセッション変数に入れるように設定すると、グラフの PostBackValue にリストされているセッション変数に値が保存されます。チャートのシリーズ。次に、新しいタブ chartdetails.aspx で開き、セッション変数から情報にアクセスできます。

Chart2.Series[0].LegendUrl = "chartdetails.aspx";
Chart2.Series[0].LabelUrl = "chartdetails.aspx";
Chart2.Series[0].Url = "chartdetails.aspx";

Chart2.Series[0].LegendPostBackValue = "#VALY-#VALX";
Chart2.Series[0].LabelPostBackValue = "#VALY-#VALX";
Chart2.Series[0].PostBackValue = "#VALY-#VALX";

Chart2.Series[0].LegendMapAreaAttributes = "target=\"_blank\"";
Chart2.Series[0].LabelMapAreaAttributes = "target=\"_blank\"";
Chart2.Series[0].MapAreaAttributes="target=\"_blank\"";

protected void Chart2_Click(object sender, ImageMapEventArgs e)
{
    HttpContext.Current.Session["VAL"] = e.PostBackValue;                  
}
于 2013-12-19T19:04:59.890 に答える