1

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を含めますか?

4

1 に答える 1