I've seen cases where when using an UpdatePanel the form action is lost after the first ajaxpostback so subsequent postbacks don't work correctly.
If that is the problem, you can solve it by adding this in a method like LoadSettings called from page load event
try
{
SiteUtils.SetFormAction(Page, Request.RawUrl);
}
catch (MissingMethodException)
{
//this method was introduced in .NET 3.5 SP1
}
part of the difference may also be because by default we target .NET 4 so there are changes in .NET 4 that can affect your existing code. It is still popssible to target .NET 3.5 as described here:
http://www.mojoportal.com/the-net-4-transition-plan-for-mojoportal.aspx
In general you should be using an UpdatePanel if you are posting back in a module control because it lives on a page with other modules so this is a way to prevent the postback from impacting other modules on the page.
You may also want to make sure you set
Page.EnableViewState = true;
Hope it helps,
Joe