jqueryv1.7.1打破了.net';当位于internet explorer 8的框架内时,更新面板
问题描述: 我有一个updatepanel,可以在所有浏览器中以简单的框架布局正常工作jqueryv1.7.1打破了.net';当位于internet explorer 8的框架内时,更新面板,jquery,vb.net,updatepanel,frames,frameset,Jquery,Vb.net,Updatepanel,Frames,Frameset,问题描述: 我有一个updatepanel,可以在所有浏览器中以简单的框架布局正常工作 <html> <head> <title>main</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" content="Visual B
<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>
当我包含jquery-1.7.1.min.js时(http://code.jquery.com/jquery-1.7.1.min.js)在我的页面上,它打破了updatepanel,这样任何控件都不再执行部分回发,而是执行完整回发,这种行为似乎只在internet explorer中发生(目前仅在ie8中测试)
复制问题
创建一个简单的框架布局
<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>
Sub-DropDownSelection_Change(ByVal Sender作为对象,ByVal E作为事件参数)
Calendar1.DayStyle.BackColor=_
System.Drawing.Color.FromName(ColorList.SelectedItem.Value)
端接头
受保护的子日历1\u选择已更改(ByVal Sender作为对象,ByVal E作为事件参数)
SelectedDate.Text=Calendar1.SelectedDate.ToString()
端接头
创建注销
背景:
白色
银币
深灰色
卡其色
D
方格卡其布
选定日期:
没有一个
通过更改背景颜色并单击日历上的日期,打开pdhtest.aspx,可以确认更新面板工作正常。对于internet explorer 8,框架集应破坏此行为
您还将发现,删除jquery可以解决这个问题
感谢所有有任何建议的人。明智的注意-首先检查updatepanel是否工作正常。。不仅仅是它“看起来”像是在工作。请忽略这个问题,它不会让我删除它,因为它有一个悬赏
以防万一有人认为他们像我一样遇到了这个问题 首先,通过在updatepanel外部写入不应更新的标签,检查updatepanel是否按预期工作。。对我来说,标签意外更新 这是一个从.NETV1更新而来的旧项目,vs错误地修改了web.config(如此巨大的版本跳变是可以理解的)
对我来说,简单地放弃web.config并构建一个新的web.config更简单-这解决了我所有的问题。我已经为您退还了这方面的奖金。关闭此选项,因为它相当本地化:)