2013-10-29 85 views
0

我在使用Highcharts的導出功能時出現問題。 我使用ASP.NET在Visual Studio下開發。 我使用Highcharts V3,它引用了以下文件:Highcharts導出:當IIS服務器上的網站缺少按鈕

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

當我測試web項目啓動它從Visual Studio(本地服務器),一切工作得很好。

然後我上傳我的網站到服務器(Windows 7服務器上的IIS 7.5)。 當我從它的URL打開網站時,導出上下文按鈕不會在右上角顯示圖表。沒有錯誤,只是在圖表的畫布中沒有定義任何按鈕。

有人能幫我嗎?

謝謝你。

+0

您是否收到任何錯誤?因爲它似乎沒有加載exporting.js –

+0

沒有錯誤,它只是作爲沒有加載exporting.js的行爲。但是我的開發環境和服務器上的代碼都是一樣的,因此我認爲這是一個IIS問題...... – user2590995

+0

所以請檢查需要加載的exporting.js的路徑。 –

回答

0

我遇到了類似的問題使用DotNet.HighChart Lib的Asp.net MVC。 雖然我在VS2012和IIS Express上工作一切都很順利,但是當我將它部署到本地IIS上或運行IIS 7的外部服務器上時,沒有任何圖表顯示(只是一個空白頁),我檢查了源代碼,似乎生成的腳本,但沒有包括兩個js文件[Highcharts,Exporting]中的一個,這是Bundle的一個問題,它在服務器上有不同的行爲,我不明白,我只是爲了解決我的問題問題是忽略Bundle並直接包含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") 

和它的工作。

只爲額外的信息我束這樣的定義:

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。爲了便於開發,它生成了PHYSICAL URL和js文件的物理內部鏈接。但是,在服務器上,所有bundle都映射到與其物理位置無關的VIRTUAL路徑,因此會導致這些文件中的相關物理路徑在服務器上被錯誤地處理,並且您將收到404異常。

希望它有幫助

+0

由於完全相同的原因,您將遇到與TinyMCE相同的問題;)[如果您曾經使用它] –