我有2个.aspx页面。 1. Reporter.aspx 2. Report.aspx 在Reporter.aspx里面我有一个IFRAME,并且在将Report.aspx提交给服务器(加载报告)后,Report.aspx保存在IFRAME中,我想做另一件事,比如显示一些进展或类似的东西。我的页面如下所示
Reporter.aspx: ....................
<body style="margin:2px;">
<form id="Form1" runat="server">
<dx:ASPxPopupControl ClientInstanceName="LoadingPanel" ID="LoadingPanel" HeaderText="Progress" runat="server" ShowCloseButton="false" CloseAction="None"
PopupHorizontalAlign="WindowCenter" EnableClientSideAPI="true" PopupVerticalAlign="WindowCenter" ShowShadow="true" Modal="true">
<ContentCollection>
<dx:PopupControlContentControl ID="PopupControlContentControl2" runat="server">
<asp:Panel ID="Panel2" Height="75px" Width="275px" runat="server">
<center>
<div id="dvStatus" style="width:100%; font-family:Verdana; font-size:10px; color:Red;" >Loading....</div>
<div>
<img src="../Content/images/loading_big.gif" alt=""/>
</div>
</center>
</asp:Panel>
</dx:PopupControlContentControl>
</ContentCollection>
</dx:ASPxPopupControl>
</form>
<div style="width:100%; overflow:hidden;">
<iframe id="IFrame2" style="width:100%; border:0px; height:1125px; overflow:hidden;" frameborder="0" src="Report.aspx"></iframe>
</div>
</body>
Report.aspx: ..................
<body style="overflow: hidden;">
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="7200">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="dvReportSettings" runat="server" style="float: left; width: 320px;" class="filterAndReport">
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<dx:ASPxButton ID="btnGenerateReport" OnClick="btnGenerateReport_Click" Height="35px"
Width="100%" runat="server" Text="Generate" AutoPostBack="false">
<ClientSideEvents Click="function(s,e){ValidatePage(s,e)}" />
</dx:ASPxButton>
</ContentTemplate>
</asp:UpdatePanel>
</body>
我有一个ID =“btnGenerateReport”的按钮,当我点击它时,它会加载报告。一些大型报告需要大约2个小时才能生成,这就是我的原因 在asp:ScriptManager中设置AsyncPostBackTimeout =“7200”。它可以在FireFox,Google Chrome,Safari等不同浏览器中完美运行,但在IE浏览器中则无法运行。当我 单击使用浏览器IE8生成按钮,几秒钟后它会显示以下javascript错误:
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; .NET4.0E) 时间戳:2011年5月25日星期三10:47:06 UTC
消息:Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。从服务器返回的状态代码是:12002 行:4723 查尔:21 代码:0 URI:http://localhost:64191/ScriptResource.axd?d=p4fjjEQSSdv063Ae96jd9UCqVNGWjRlsLyZLXU0H9gBYlcdCHSPhZBNLbZ-4XLN3zCzBInKdXuLlu4E1PtquQ3YdrPS-9wlk1EreB5wn-imBkTqz02jjBS_01qg6c4ObcqXGRK8Ejgyb3pvKkcBSH5V7xOadF8Jl4MSwWwtSDUBqxwNH0&t=fffffffff9d85fa6
然后我把EnablePartialRendering =“false”放到asp:ScriptManager中,试着看看我是否能看到一些区别。在此之后,我点击生成报告按钮使用 IE8并在10-15之后的几秒钟内发现了另一个javascript错误。这是错误:
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; .NET4.0E) 时间戳:2011年5月25日星期三08:27:19 UTC
消息:对方法或属性访问的意外调用。 行:264 查尔:5 代码:0 URI:res://ieframe.dll/httpErrorPagesScripts.js
是否有人可以帮助我摆脱这个IE错误。我遇到了严重的麻烦。
Regrads,
Mohin酒店
答案 0 :(得分:0)
状态代码12002建议脚本超时。虽然您已在客户端上设置超时(对于异步postbck),但服务器端在web.config或page指令中具有自己的ScriptTimeout设置。
此外,我不明白为什么需要嵌套更新面板。从你对你正在做的事情的描述应该是足够的。在更新面板外部生成“生成报告”按钮,并在“生成报告”按钮单击的更新面板中添加触发元素。
检查IE选项中的插件,可能会禁用所有插件。