ボタンがあるだけのfirePie.aspx
ページがc#
あり、クリックするとこれを行います。
protected void Button1_Click(object sender, EventArgs e)
{
string cadenaValor, valores;
cadenaValor = "Audi(28%)','BMW(29%)','Mercedes(22%)" ;
valores = "28,29,22";
Response.Redirect("pieChart.aspx?values="+cadenaValor+"&valores="+valores);
}
パラメータはコンマで区切られた値を持つ文字列であり、この値をに渡したいpiechart.aspx
ので、関数でjavascript
それらのパラメータをキャッチして円グラフを印刷します。コードpieChart.aspx
は次のとおりです。
<body>
<canvas id="cvs" width="450" height="300">[No canvas support]</canvas>
<form id="frm" method="get" >
<script type ="text/javascript" >
var pie1 = new RGraph.Pie('cvs', ['<%=this.Request.QueryString["valores"]%>']);
pie1.Set('chart.radius', 100);
pie1.Set('chart.tooltips', ['<%=this.Request.QueryString["values"]%>']);
pie1.Set('chart.labels', ['<%=this.Request.QueryString["values"]%>']);
pie1.Set('chart.strokestyle', 'white');
pie1.Set('chart.linewidth', 5);
pie1.Set('chart.shadow', true);
pie1.Set('chart.shadow.blur', 10);
pie1.Set('chart.shadow.offsetx', 0);
pie1.Set('chart.shadow.offsety', 0);
pie1.Set('chart.shadow.color', '#000');
pie1.Set('chart.text.color', '#999');
var explode = 20;
function myExplode (obj)
{
window.__pie__ = pie1;
for (var i=0; i<obj.data.length; ++i) {
setTimeout('window.__pie__.Explode('+i+',10)', i * 50);
}
}
if (RGraph.isOld()) {
pie1.Draw();
} else if (navigator.userAgent.toLowerCase().indexOf('firefox') >= 0) {
RGraph.Effects.Pie.RoundRobin(pie1);
} else {
/**
* The RoundRobin callback initiates the exploding
*/
RGraph.Effects.Pie.RoundRobin(pie1, null, myExplode);
RGraph.Effects.Pie.Implode(pie1);
}
</script>
</form>
</body>
QueryString["valores"]
元の文字列、つまり 28,29,22 が機能する行に書いた場合、var pie1 = new RGraph.Pie('cvs'...
何らかの理由javascript
でこの値を認識していないと思いますが、QueryString["values"]
正しくキャッチされています。助けてください。