C#Webアプリケーション内でグラフ化するために使用したいFusionChartsライブラリがあります。チャートを作成するためのコード(別のフォルダーにいくつかのオーバーヘッドファイルを配置した後)は次のとおりです。
<script type="text/javascript" src="Charts/FusionCharts.js">
<script type="text/javascript"><!--
var myChart = new FusionCharts( "Charts/Spline.swf",
"myChartId", "400", "300", "0");
myChart.setXMLUrl("Data.xml");
myChart.render("chartContainer");
// -->
</script>
今私がやろうとしたのは、そのコードをユーザーコントロールに含めることです。ただし、使用する「Data.xml」や高さと幅などのパラメータを渡すオプションが必要です。現在は機能していますが、現在の問題は、ページにコントロールの複数のインスタンスを含める場合です。プロジェクトページの「ソースの表示」コードを確認すると、2つのコンポーネントが追加されますが、JavaScriptは表示されます。このような:
<script type="text/javascript" src="Charts/FusionCharts.js">
<script type="text/javascript"><!--
var myChart = new FusionCharts( "Charts/Spline.swf",
"myChartId", "400", "300", "0");
myChart.setXMLUrl("Data.xml");
myChart.render("chartContainer");
// -->
</script>
<script type="text/javascript" src="Charts/FusionCharts.js">
<script type="text/javascript"><!--
var myChart = new FusionCharts( "Charts/Spline.swf",
"myChartId", "400", "300", "0");
myChart.setXMLUrl("Data.xml");
myChart.render("chartContainer");
// -->
</script>
コードが複製されるため、変数myChartが複製され、予想どおり、1つのグラフのみがレンダリングされます。これを回避するための最良の方法は何ですか?または、基本的に、各コントロールに対して操作できるpage_loadで動的に生成されるJavaScriptを含めますか?