I\'m following a simple example of how to use the update panel from here (http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx). Outside the upd
Since you are using the .NET Framework 3.5 I will assume you are using Visual Studio 2008, and you say you are targeting IIS 5.1 for the production platform.
The local web server that is part of Visual Studio 2008 is based off of IIS 6/7 architecture, not IIS 5. So, to answer your question of what is different with IIS compared to the local web server... unfortunately, in this case, you are mixing apples and oranges.
Are you restricted to IIS 5.1?... ie client mandate or some other reason. If you are not, and you are developing with Visual Studio 2008 (.NET Framework 3.5) you really should be using IIS7 (or at least 6) as you would most likely not have this problem.
Again, IIS7 may not be an option for you.
Have you tried using a trigger? e.g.
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Panel Created"></asp:Label>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Panel Refresh" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Label1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
Since your UpdatePanel's UpdateMode is set to conditional you have to specify a trigger.
Alternatively, you could define the property ChildrenAsTriggers to true.
UpdatePanel.UpdateMode reference
Did you try using the <asp:Button runat="server">
element instead of the HTML <input>
element?
In IIS Manager, check the "Pages and Controls" settings for your site. Specifically, the View State and Settings sections. Those look like they could affect how your page interacts with the server and when.