我刚刚升级到.NET 4,并且我的ASP.NET图表控件不再显示。

对于.NET 3.5,该控件生成的HTML过去通常是这样的:

<img id="20_Chart" src="/ChartImg.axd?i=chart_5f6a8fd179a246a5a0f4f44fcd7d5e03_0.png&amp;g=16eb7881335e47dcba16fdfd8339ba1a" alt="" style="height:300px;width:300px;border-width:0px;" />

现在,对于.NET 4,它看起来像这样(请注意源路径中的更改):
<img id="20_Chart" src="/Statistics/Summary/ChartImg.axd?i=chart_5f6a8fd179a246a5a0f4f44fcd7d5e03_0.png&amp;g=16eb7881335e47dcba16fdfd8339ba1a" alt="" style="height:300px;width:300px;border-width:0px;" />

该图表位于MVC局部 View 中,该局部 View 位于名为“统计”的MVC区域文件夹和称为“摘要”(即“/Areas/Statistics/Views/Summary”)的MVC View 文件夹中。路径来自。

我要做的就是将System.Web.DataVisualization程序集从3.5切换到4.0。

任何帮助,不胜感激。

最佳答案

虽然@Michael的解决方案可提供有关为什么存在此问题的信息,但还有一个更简单的解决方案。在global.asax.cs的 Controller 句柄中注册路由时,可以添加带有约束的忽略路由,如下所示:

protected void Application_Start() {
    ...
    RouteTable.Routes.Ignore("{*pathInfo}", new { pathInfo = @"^.*(ChartImg.axd)$" });
    ...
}

10-05 20:44
查看更多