Working on a recent project I had the need to create a custom calendar control web part. One of the requirements I had was to make sure that when users navigated the calendar the whole page didn’t post back. I knew a simple solution, using an UpdatePanel. I figured this would take me just a few minutes to get the web.config file prepped with the necessary ajax updates and then wrap my calendar control with an UpdatePanel.
It turns out the answer was a simple one. I had forgotten to set the ID property of my calendar control. This made it impossible for the updatepanel to work properly and caused the full page to post back. Once the ID was in place the updatepanel worked as expected.