ASPxScheduler - "The appointment has been deleted by another user"
I’m currently working on a project where I’m implementing the awesomeness that is the DevExpress ASPxScheduler component. While getting it up and running, I ran up again an issue getting the basic functionality out of the control working.
Using v8.1.2 (latest as of this posting), when I added an appointment to the seemingly simple control, I received the error message, "The appointment has been deleted by another user." I quickly scanned the office for another user that’s was deleting my appointments, but since I was working from my kitchen and on a local database, I quickly came to the conclusion that perhaps I was being lied to (I briefly thought, "Perhaps it was the cat, he’s always trying to divert my attention".. but no, the cat was asleep).
Before upgrading to v8.1.2 I was using v7.3.6. The error message I was receiving was for that version a little more detailed, yet still confusing. "’null’ is not a valid value for ‘apt’. What? You mean I can’t have a null value for my appointment? Ok, fine then.
After much fighting, some colorful statements, and at least a few hours lost of productivity and sleep, I’ve come across a beautifully simple solution to this very frustrating issue. If you’ve ever tried implementing ASP.NET AJAX on a site that originally started out on ASP.NET 1.1, you may have come across this before. ASP.NET AJAX will not work if your web.config contains the line <xhtmlConformance mode="Legacy"/>. This fun little line gets added when you migrate a VS.NET 2003 project to a VS.NET 2005 project. The reason being, as ScottGu explained back in Dec 06, is that ASP.NET 1.1 didn’t generate XHTML compliant markup, which allows ASP.NET to render server controls in legacy mode. So, knowing that the controls from DevExpress are built on AJAX technology, I quickly realized after scanning my web.config for possible issues that this line had to be the culprit - and sure enough, my ASPxScheduler control is now working as promised. Awesome, now I’m back in business.





