首页 文章

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

提问于
浏览
0

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

  • highcharts.js

  • highcharts-more.js

  • exports.js

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

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

有人可以帮帮我吗?

谢谢 .

1 回答

  • 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文件的物理内部链接 . 但是在服务器上,所有bundle都映射到与其物理位置无关的VIRTUAL路径,因此它会导致这些文件中的相对物理路径在服务器上被错误地处理,并且您会收到404异常 .

    希望它可能会有所帮助

相关问题