Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.Net图表控件在IE 9.0中工作不正常_Asp.net_Charts_Internet Explorer 9 - Fatal编程技术网

ASP.Net图表控件在IE 9.0中工作不正常

ASP.Net图表控件在IE 9.0中工作不正常,asp.net,charts,internet-explorer-9,Asp.net,Charts,Internet Explorer 9,我在我的web应用程序中使用了ASP:Chart控件,在我将浏览器从IE 8.0升级到9.0之前,它一直运行良好 现在,几乎每次我来到包含一些图表控件的页面时,图片都不会被渲染,但是如果我引用页面,它总是正确地渲染图像 所以我做了一些研究,并对web配置中的“ChartImageHandler”键做了一些更改。现在是这样的: [chart Images folder]指向我的web应用程序中的一个文件夹,该文件夹对我的应用程序池用户具有完全权限(事实上,只是为了测试,我给了每个人完全权限,绝对

我在我的web应用程序中使用了ASP:Chart控件,在我将浏览器从IE 8.0升级到9.0之前,它一直运行良好

现在,几乎每次我来到包含一些图表控件的页面时,图片都不会被渲染,但是如果我引用页面,它总是正确地渲染图像

所以我做了一些研究,并对web配置中的“ChartImageHandler”键做了一些更改。现在是这样的:

[chart Images folder]指向我的web应用程序中的一个文件夹,该文件夹对我的应用程序池用户具有完全权限(事实上,只是为了测试,我给了每个人完全权限,绝对没有权限问题)

问题是我对Firefox、Safarai、chrome甚至更早版本的IE没有任何问题,问题只发生在IE9.0中(顺便说一句,如果我在IE9.0中切换到兼容模式,它就可以正常工作)

当尝试使用IE 9.0查看此页面时,我可以看到图表图像将在该文件夹中创建,但它们不会被删除,但使用任何其他浏览器,这些文件将被创建,然后被删除,没有任何问题

我尝试了“storage=session”或“storage=memory”,但运气不好,尽管我确信我不能使用“memory”,因为它应该部署在多web服务器平台上(负载平衡器等)

不幸的是,大多数用户都在使用IE9.0,我不能强迫他们使用其他浏览器或切换到兼容模式


非常感谢你们的帮助。

尝试将ImageStorageMode=“UseMageLocation”添加到图表中。所以这个图表看起来像

<asp:Chart ID="Chart1" runat="server" DataSourceID="drawChartObjectDataSource" Height="200px"
    Width="800px" EnableViewState="True" ImageStorageMode="UseImageLocation">

然后转到web.config并添加AppSetting

<configuration>

  <appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=400;dir=c:\TempImageFiles\;" />
  </appSettings>

请注意,存储的图像C:\TempImageFiles\的位置必须存在


谢谢,我希望它能解决问题

使用融合图或zed图


我遇到了完全相同的问题,我解决了它

asp:chart控件所在的网页有母版页引用

MasterPageFile=“~/MasterPage.master”

在母版页中,我有一些.js和.css引用

我通过改变引用顺序解决了这个问题(您必须首先引用javascript代码)


我不知道为什么会发生这种情况,比如9.0之类的东西。

我通过向web.config中的图像处理程序添加deleteAfterService=false参数解决了这个问题。e、 g

<appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=400;dir=c:\TempImageFiles\;deleteAfterServicing=false;" />`
</appSettings>`

`
`

请注意,使用此方法进行维护后,图像不会被删除,正如参数名称所示。这意味着您必须自己管理该过程。

这并没有真正的帮助,但有趣的是,如果您使用Fiddler检查该过程,您可以看到由于某种原因,IE在短时间内连续两次请求图像。第一个请求成功,然后第二个请求(用户最终看到的请求)失败,因为映像已经被服务器处理并释放。这就是为什么从磁盘提供服务是有效的,因为它仍然是持久的。