Got to give
my 2 cents on the Atlas framework for the
CMP media folks, specifically in relation to the
June CTP
On my current project as with many we have a lot of custom user controls to perform various lookup/data entry functions. We have several controls that contain dropdownlists and sometimes we raise an event from the user control when the selected index of the dropdownlist changes. This is the scenerio where I ran into an issue with Atlas, but it probably would happen with any custom event raised from a user control. Here's the behavior I was seeing. When using an UpdatePanel, you can conditionally trigger the UpdatePanel postback using either events or property changes from a control. In my case I wanted the UpdatePanel to fire when my user control raised its SelectionChanged event. This worked fine on a very basic page, but when I tried to do it inside a MasterPage it was causing the entire page to postback. In other words, the partial rendering of the UpdatePanel broke.
In trying to create a simple example to show to the Microsoft guys, I finally stumbled upon the fix and it wasn't at all what I expected. When I tried the same scenerio in a brand new Atlas web project, it worked fine, even inside a master page. At this point, since I was using all the same pages/code, the only main difference left was the web.config. I thought I had missed a setting that Atlas needed or something, but that didn't make sense either since most stuff was working fine. Turns out it was the following key in my web.config.
<xhtmlConformance mode="Legacy"/>
Apparently something to do with the way controls were being referenced. I'm not exactly sure about this, but I believe that key is something that is inserted when a project is converted to ASP.NET 2.0. I could be wrong on that, but I don't remember putting it in. At any rate, taking out that key fixed my issue. The Atlas team is going to look at it and see if they can figure out why.
I was wondering when they would finally release a new CTP since they had scheduled one for June. Apparently they just made the cut. I'm hoping this build fixes some of the bugs I've been seeing as we actually try to incorporate Atlas into some real apps. There is definitely demand building out there for a lot of the Atlas behavior, especially the UpdatePanel functionality. It's always the simple stuff that gets people excited, although I'm sure under the covers the UpdatePanel is anything but simple. One of the big June CTP features is the ability to dynamically add UpdatePanels. There are also some new Toolkit controls, you can read more about the new features on
Scott's blog. And you can download the
new CTP here.