As you’re probably aware by now, the first ASP.NET AJAX (formerly known as “Atlas”) beta has been published. Like a lot of folks, I’m slogging through all my old Atlas code porting it to work on the beta. There are LOTS of changes, and porting a non-trivial app takes time. I feel sorry for book authors, especially those whose books have already gone to press. An ASP.NET AJAX book printed before the beta is next to worthless.

In two weeks, I stand up before a TechEd crowd in Barcelona and present a full day of ASP.NET AJAX. I hope I can digest all the changes before then.

I just spent hours trying to get an AutoCompleteExtender that worked fine in the last CTP to work on the beta. One required change is to attribute the Web service that the extender calls [ScriptService] rather than [WebService]. But the one that threw me for a loop was the AutoCompleteExtender’s new CompletionListElementID property. In the last CTP, the property was named DropDownPanelID and you set it to the server ID of a Panel control. Now you set CompletionListElementID to the client ID of the Panel. If the Panel is in a Content control, the client ID doesn’t equal the server ID, so instead of writing this:

<asp:AutoCompleteExtender DropDownPanelID=”ZipCodeCompletionList” … />

You write something like this:

<asp:AutoCompleteExtender CompletionListElementID=”ctl00_MainPlaceHolder_ZipCodeCompletionList” … />

Simple. But an absolute time-killer until you figure it out.