.NET 3.5 chart controls exception: Error executing child request for ChartImg.axd

Viewed 49917

Anyone getting this error when using the new free chart controls MS bought from Dundas?

"Error executing child request for ChartImg.axd"

On the MSDN forum they suggested it was my web.config: MSDN forum post

So far that hasn't fixed the problem though. Any other ideas?

12 Answers

I encountered the same problem: the chart would work on one page but not on the next. Turns out if the chart is initialized for the first time in a POST (i.e. a postback) the error is thrown because the handler is configured incorrectly. To fix the issue modify the httpHandler configuration that user LaptopHeaven referred to in this topic by adding the POST verb:

<add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

I've written a more thorough explanation of why this error occurs in the MSDN forum post that Scott Anderson referred to in his opening post of this topic.

I ran into this error, but to correct it by adding an element to the system.web\httpHandler section of my web.config file. I added the follow:

<add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

Also note that while dragging the chart control from the toolbox onto your page is supposed to create the necessary entries in web.config, this only occurs if you are in design mode at the time.

If you are in source mode and drag and drop it will not happen.

Also, there must be some form of registration that occurs in the project/class file when you add a chart control in design mode. Because if you are in source mode and dnd a chart control you wont get the entries in web.config as above. If you then step into design mode and dnd from the toolbox into the page, you will get the entries in web.config.

But if then delete the chart, you dnd'd in design mode, it will wipe the entries from web.config (assuming a single page site) even though you still have the other chart control on the page from when you dnd'd into source mode.

So no, you're not crazy it's just not intuitive. ;)

I posted a way I fixed this problem on the MSDN forum:

Well I still don't know why I was getting the exception but I seem to have found a workaround. I did an experiment where I took the supposed offending web.config and copied it to a new project where I added a new web form and chart control and the chart control rendered fine with the "UseHttpHandler" option. This led me to believe that it wasn't actually the web.config that was the problem in my case, so I went back to the original project and added a chart to another web form as an experiment, and it worked! Even more surprising was that after that I went to the offending page and it worked too! Then I took the new chart off the other page and checked the original offending page and it was broken again. Then I found out if I put a chart control on any page before the offending page, it would work, otherwise it threw the exception. These controls are so cool though that I didn't have a problem finding another page to put one on in the path of the offending page :)

This fixed the problem but if anyone has any theory why I'd be interested...maybe a bug?

Just wanted to point out that it is also a permission problem with the image not found error.

Set the "Allow modify" permissions on your image folder (per default it is "C:\TempImageFiles" for the account under which your website is running.

Problem disappears.

Please Add it in webconfig

add verb="GET,HEAD" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Thanks

Basanth

Related