首页 > 解决方案 > ASP.NET 4.0 图表控件损坏的图像链接

问题描述

我在 Web 窗体项目中设置了 Microsoft 图表控件。该图表呈现为损坏的图像链接。我尝试添加图表控件的页面位于具有此路径的位置:

http://localhost/application/default.aspx

正在生成的损坏的图像链接是:

http://localhost/Application/ChartImg.axd?i=chart_14e94045c8ec4bd1b79f8ad4a6e25239_0.png&g=10889d08b1644464955d275d1f800315

如果我手动将损坏的图像链接更改为以下内容,则会呈现:

http://localhost/ChartImg.axd?i=chart_14e94045c8ec4bd1b79f8ad4a6e25239_0.png&g=10889d08b1644464955d275d1f800315

网络配置:

<add name="ChartImg" verb="*" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />;

<add key="ChartImg" value="Storage=memory;Timeout=20;"/>

(Also tried <add key="ChartImg" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"/ >)

更新

这是导致问题的 ChartImg.axd 处理程序的实际位置。我认为页面继承和命名空间在这个庞大的遗留项目中被搞砸了。我正在尝试将图表添加到 /Application 目录中的页面 - 我需要能够更改处理程序的路径。任何人?

标签: c#asp.netwebformsmicrosoft-chart-controls

解决方案


我能够通过在项目根目录中创建一个具有相同母版页的新页面来解决这个问题,然后在有问题的页面中使用 iframe 来引入图表。我找不到其他方法来以编程方式更改 ChartImg.axd 处理程序本身的“虚拟”位置。

<iframe src="../Metrics.aspx" height="400" width="400" frameborder="0"></iframe>

推荐阅读