我正在使用ASP.NET Chart控件。我的页面上有很多(大约10个,都在Repeter里面)图表。
每个图表都将ImageStorageMode设置为“UseImageLocation”。
问题是每个Chart控件由于某种原因生成没有文件名的图像文件,只有.PNG扩展名。因此,它们会相互覆盖,并且每个页面上只显示最后一个图像。
建议?
答案 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)