Description of problem: I have an updatepanel that works fine in all browsers in a simple frame layout.
When I include jquery-1.7.1.min.js (http://code.jquery.com/jquery-1.7.1.min.js) on my page it breaks the updatepanel such that any control no longer does a partial postback - but instead does a full post-back, this behaviour only seems to happen in internet explorer (tested only in ie8 so far).
Replicating the issue Create a simple frame layout.
<html>
<head>
<title>main</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<frameset rows="40,*,20">
<frame name="header" scrolling="no" noresize src="">
<frameset cols="200,70%" framespacing="2" frameborder="yes" border="1">
<frameset rows="*,*">
<frame name="ltop" src="" marginwidth="0" marginheight="0" DESIGNTIMEDRAGDROP="9">
<frame name="lbottom" src="leftmenu.aspx" marginwidth="0" marginheight="0">
</frameset>
<frame name="main" src="pdhtest.aspx">
</frameset>
<frame name="footer" src="" scrolling="no" noresize>
<noframes>
</noframes>
</frameset>
</html>
pdhtest.aspx
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub DropDownSelection_Change(ByVal Sender As Object, ByVal E As EventArgs)
Calendar1.DayStyle.BackColor = _
System.Drawing.Color.FromName(ColorList.SelectedItem.Value)
End Sub
Protected Sub Calendar1_SelectionChanged(ByVal Sender As Object, ByVal E As EventArgs)
SelectedDate.Text = Calendar1.SelectedDate.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>createwritoff</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1" />
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1" />
<meta name="vs_defaultClientScript" content="JavaScript" />
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
<link rel="stylesheet" type="text/css" href="lmenu.css" />
<link href="Styles/createwritoff.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-min.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1"
runat="server" />
<asp:UpdatePanel ID="UpdatePanel1"
runat="server">
<ContentTemplate>
<asp:Calendar ID="Calendar1"
ShowTitle="True"
OnSelectionChanged="Calendar1_SelectionChanged"
runat="server" />
<div>
Background:
<br />
<asp:DropDownList ID="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="DropDownSelection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White">
White </asp:ListItem>
<asp:ListItem Value="Silver">
Silver </asp:ListItem>
<asp:ListItem Value="DarkGray">
Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki">
Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> D
ark Khaki </asp:ListItem>
</asp:DropDownList>
</div>
<br />
Selected date:
<asp:Label ID="SelectedDate"
runat="server">None.</asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</div>
</form>
</body>
</html>
You can confirm that the update panel works nicely by changing the background colour and clicking dates on the calendar, by opening pdhtest.aspx. the frame-set should break this behaviour for internet explorer 8.
You will also find that removing jquery fixes the issue.
Thanks to anybody that has any suggestions.
Note to the wise - first check that updatepanel is working at all.. not just that it "looks" like it is working. please ignore this question, it won't let me delete it as there is a bounty on it.
Just in case anybody thinks they're getting this problem like I did.
First of all check that the updatepanel is working as expecting by writing to a label outside of the updatepanel that shouldn't update.. For me that label updated unexpectedly.
This was an old project updated from .net v1 and vs incorrectly modified the web.config (understandable for such a huge version jump).
It was simpler for me to simply scrap the web.config and build a new one - this solved all my problems.