0

ハイチャートのエクスポート機能の使用に問題があります。ASP.NET を使用して Visual Studio で開発しています。次のファイルを参照して、Highcharts V3 を使用しています。

  • highcharts.js
  • highcharts-more.js
  • exporting.js

Visual Studio (ローカル サーバー) から Web プロジェクトを起動してテストすると、すべてが正常に動作します。

次に、Web サイトをサーバー (Windows 7 サーバー上の IIS 7.5) にアップロードします。そこの URL から Web サイトを開くと、グラフの右上隅にエクスポート コンテキスト ボタンが表示されません。エラーはなく、チャートのキャンバスにボタンが定義されていません。

誰か助けてくれませんか?

ありがとうございます。

4

1 に答える 1

0

DotNet.HighChart Lib for Asp.net MVC を使用して同様の問題に遭遇しました。私がVS2012とIIS Expressで作業している間はすべて問題ありませんでしたが、PCまたはIIS 7を実行している外部サーバーのローカルIISに展開すると、チャートは何も表示されませんでした(空白のページのみ)、ソースコードを確認しましたスクリプトが生成されたように見えましたが、2 つの js ファイル [Highcharts、Exporting] の 1 つが含まれていませんでした。これはバンドルの問題です。サーバー上での動作が異なり、理解できません。問題を解決するために私がしたことはすべてBundle と include js ファイルを直接無視していました。

私は変換しました:

@Scripts.Render("~/bundles/highcharts")

@Scripts.Render("~/Scripts/highcharts/highcharts.exporting-1.0.0.js")
@Scripts.Render("~/Scripts/highcharts/highcharts.min-1.0.0.js")

そしてそれはうまくいきました。

追加情報として、私の Bundle は次のように定義されていました。

bundles.Add(new ScriptBundle("~/bundles/highcharts").Include(
    "~/Scripts/highcharts/highcharts.exporting-1.0.0.js",
    "~/Scripts/highcharts/highcharts.min-1.0.0.js"
));

編集:私は私に何が起こったのかを理解したと思います。Highcharts.js はスタンドアロンではありません。つまり、物理的に横にある他の js ファイルを使用します。バンドルの URL は、開発時とデプロイ時で異なります。開発を容易にするために、物理的な URL が生成され、js ファイルの物理的な内部リンクが機能します。ただし、サーバーではすべてのバンドルが物理的な場所に関連しない仮想パスにマップされるため、これらのファイルの相対物理パスがサーバーで誤ってアドレス指定され、404 例外が発生します。

それが役立つことを願っています

于 2013-12-24T16:40:27.003 に答える