Reputation: 169
I have 2 .aspx pages. 1. Reporter.aspx 2. Report.aspx Inside Reporter.aspx I have an IFRAME and Report.aspx is kept inside the IFRAME after submitting Report.aspx to server (to load report), I want to do another thing like showing some progress or something like that. My pages looks like the following
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>
I have a button with ID="btnGenerateReport" and when I click it, it loads report. Some big reports take almost 2 hours to be generated and that is why I have set AsyncPostBackTimeout="7200" inside asp:ScriptManager. It works perfectly in different browsers like FireFox, Google Chrome, Safari but not in IE. When I click on Generate button using browser IE8, after few seconds it shows the following javascript error:
Webpage error details
User Agent: Mozilla/4.0 (compatible; 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) Timestamp: Wed, 25 May 2011 10:47:06 UTC
Message: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 12002 Line: 4723 Char: 21 Code: 0 URI: http://localhost:64191/ScriptResource.axd?d=p4fjjEQSSdv063Ae96jd9UCqVNGWjRlsLyZLXU0H9gBYlcdCHSPhZBNLbZ-4XLN3zCzBInKdXuLlu4E1PtquQ3YdrPS-9wlk1EreB5wn-imBkTqz02jjBS_01qg6c4ObcqXGRK8Ejgyb3pvKkcBSH5V7xOadF8Jl4MSwWwtSDUBqxwNH0&t=fffffffff9d85fa6
Then I just put EnablePartialRendering="false" to asp:ScriptManager and tried to see if i can see some difference. After this, i click on Generate report button using IE8 and found another javascript error after just few seconds like 10-15. Here is the error:
Webpage error details
User Agent: Mozilla/4.0 (compatible; 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) Timestamp: Wed, 25 May 2011 08:27:19 UTC
Message: Unexpected call to method or property access. Line: 264 Char: 5 Code: 0 URI: res://ieframe.dll/httpErrorPagesScripts.js
Is there anyone who can help me getting out from this IE error. I am in serious trouble.
Regrads,
Mohin
Upvotes: 3
Views: 24023
Reputation: 5039
Status code 12002 suggests a script timeout. Although you have set the timeout high on the client (for asynchronous postbck), the server side has it's own ScriptTimeout setting in web.config or page directive.
Also I don't see why you need the nested update panel. From your decription of what you are doing one should be enough. Have the Generate Report button outside the update panel, and add a trigger element to the update panel for Generate Report button clicks.
Check your plugins in IE options, maybe disable all of them.
Upvotes: 0