Asp.NET Chart生成没有文件名的图像文件

时间:2012-03-14 00:04:13

标签: asp.net charts

我正在使用ASP.NET Chart控件。我的页面上有很多(大约10个,都在Repeter里面)图表。

每个图表都将ImageStorageMode设置为“UseImageLocation”。

问题是每个Chart控件由于某种原因生成没有文件名的图像文件,只有.PNG扩展名。因此,它们会相互覆盖,并且每个页面上只显示最后一个图像。

建议?

2 个答案:

答案 0 :(得分:1)

我刚刚遇到了这个问题并找出了问题所在。我得到的提示来自http://social.msdn.microsoft.com/Forums/vstudio/en-US/29ce1ba3-c338-41ee-b218-c78f432b2f77/delete-images-from-useimagelocation-location

似乎Chart.ImageLocation的属性有点误导,因为MSDN说

  

表示当前图表图像的URL的字符串值。

然而,这应该还包括一个文件名,我怀疑你有这样的东西

Chart chart = new Chart();
chart.RenderType = RenderType.ImageTag;
chart.ImageStorageMode = ImageStorageMode.UseImageLocation;
chart.ImageLocation = "~/TempImages/";

这将生成一个像这样的图像URL

<img src="/TempImages/.png?y56r6y7f5w4r5" />

更改chart.ImageLocation以包含生成此类序列的文件名

chart.ImageLocation = "~/TempImages/ChartPicture_#SEQ(300,5)";

现在你将生成这样的图像

ChartPicture_000001.png
ChartPicture_000002.png
ChartPicture_000003.png
ChartPicture_000004.png
...

答案 1 :(得分:0)

您是否尝试设置ImageUrl属性。

以下是有关如何使用它的更多信息 如果这不起作用,也请发布一些示例代码。

Using ImageUrl