I’ve been trying to implement the ASP.NET Ajax framework into a pet module of mine and I couldn’t get it to work. I wrapped a gridview with an updatepanel and that was supposed to hijack the postback caused by a linkbutton nested in the gridview. It turns out that in DNN 437 there is an item in the web.config called xhtmlconformence and the default value is legacy. If you update it to be
<xhtmlconformance mode="Transitional"></xhtmlconformance>
then it will work.
In 4.4 and above, you are able to define the xhtml mode as a part of the skin by adding an xml file that that is named [SKINNAME].doctype.xml. Within this xml file you should declare one node SkinDocType. Then, within a CDATA tag, you add the doctype declaration to be used for this skin.
<skindoctype></skindoctype><!--DATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt-->]]>
Within the 4.4+ environment, you need to add two entries to the compression.config to not have them be hijacked by DNN. You can get at that through the file system or through the host settings page.
This guy has a great blog on how to enable ajax in dnn – this is where I found the bit about the htmlmode. There are a few entries that need to be added to web.config in order to make it work. You can view them in this article as well, or through the next link from the Microsoft site.
http://vladan.strigo.net/Projects/MSAjaxDotNetNuke4/HowToEnableMSAjaxinDotNetNuke4/tabid/85/Default.aspx
There are a bunch of changes you have to make to the web.config. The walkthrough on AJAX.ASP.net is pretty good:
http://ajax.asp.net/docs/ConfiguringASPNETAJAX.aspx
After I got all of that set up, I put a listener on my browser that allowed me to see the payload of each request. I went from 50K for each postback to 17 K for an ajax postback that refreshed a grid! Cool, huh?
I will be exploring the options a lot more over the next months and posting what I find on this blog... check back for more...