2013-10-29 56 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相同的问题;)[如果您曾经使用它] –