Highcharts导出:IIS服务器上的网站时缺少按钮

时间:2013-10-29 17:21:05

标签: asp.net highcharts export iis-7.5

使用Highcharts的导出功能时遇到问题。 我使用ASP.NET在Visual Studio下开发。 我正在使用Highcharts V3,引用以下文件:

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

当我测试从Visual Studio(本地服务器)启动它的Web项目时,一切都运行良好。

然后我将我的网站上传到服务器(Windows 7服务器上的IIS 7.5)。 当我从那里的URL打开网站时,导出上下文按钮根本不会显示在图表的右上角。没有错误,只是在图表的画布中没有定义按钮。

有人可以帮助我吗?

谢谢你。

1 个答案:

答案 0 :(得分:0)

我使用DotNet.HighChart Lib为Asp.net MVC遇到了类似的问题。 当我在VS2012和IIS Express上工作时一切都很好,但是当我将它部署到我的PC上的本地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")

并且有效。

只是为了获取额外信息,我的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。为了便于开发,它生成了物理网址和js文件的物理内部链接。但是在服务器上,所有捆绑包都映射到与其物理位置无关的虚拟路径,因此它会导致这些文件中的相对物理路径在服务器上被错误地处理,并且您将获得404异常。

希望它有所帮助