What is wrong:
On one web page with both AJAX extension control "Accordion" and JSON.JS. I get these error message during page load:
- Sys.Res has no properties
- Sys.Application has no properties
- Sys.UI.DomEvent has no properties
If I edit web.config, change debug="true" to debug="false", these loading errors disappear. But, I found Accordion's performance is very bad. The whole page is held up for at least 10 seconds after each click.
Now "Firebug" comes for the rescue. The "profile" tool in Firebug is very easy to use. It only took me 2 minutes to find out the offender. Just switch to "Console" tab, and click on "Profile", then start clicking on the page. After I am done, I click on "Profile" button again to stop profiling and see the report of activities. Not surprisingly, "toJSONString" is number 1 CPU consumer (see screen shot below). So, the conclusion is obvious, JSON.JS cannot live in the same space as AJAX extension.
By doing this, did I fell into one of Microsoft's secret agenda?