All:
I've been going back and forth with support a bit on this issue (we are having trouble understanding each other I think), but thought I would post this here as well since I am scheduled to go into production with an applciation that is having this issue. I was hoping that someone may have a workaround since I am reluctant to roll out my app with this problem. We incorporated some of the new controls in Q1 2013 in our project and don't want to have to roll those back.
I have reproduced this easily in another application as an example.
I noticed that with Q1 2013, when an unhandled server exception occurs during an Ajax callback, a script error occurs in a Microsoft Ajax script function which then causes Javascript processing to stop. The result is that my own error handling on the client doesn't function, neither does the ending client event on the RadAjaxManager, so everything just comes to a halt.
This only occurs when RadFormDecorator is on the page (regardless of what controls are decorated). If I remove the RadFormDecorotar, everything is fine.
Here is the code for the .asp page nd the code for the code-behind, where all I am doing is throwing an exception to simulate an unhandled exception on the server. In IE9, the loading panel will never go away and you can see the script error in the debugger. In other browsers, like Chrome, you can see the error, but the loading panel does disappear, so it is not as obvious.
I'm also including where the script error occurs: on the line "oldIds = upData.oldUpdatePanelIDs"....the error is that oldUpdatePanelIDs is null. The snippet for that code is below too from the debugger.
Lastly, here is a video that clearly demonstrates the issue, as well as shows that Q3 2012 did not do this, so it appears to be a breaking change.
http://www.youtube.com/watch?v=1FuNEoNWBec
I've been going back and forth with support a bit on this issue (we are having trouble understanding each other I think), but thought I would post this here as well since I am scheduled to go into production with an applciation that is having this issue. I was hoping that someone may have a workaround since I am reluctant to roll out my app with this problem. We incorporated some of the new controls in Q1 2013 in our project and don't want to have to roll those back.
I have reproduced this easily in another application as an example.
I noticed that with Q1 2013, when an unhandled server exception occurs during an Ajax callback, a script error occurs in a Microsoft Ajax script function which then causes Javascript processing to stop. The result is that my own error handling on the client doesn't function, neither does the ending client event on the RadAjaxManager, so everything just comes to a halt.
This only occurs when RadFormDecorator is on the page (regardless of what controls are decorated). If I remove the RadFormDecorotar, everything is fine.
Here is the code for the .asp page nd the code for the code-behind, where all I am doing is throwing an exception to simulate an unhandled exception on the server. In IE9, the loading panel will never go away and you can see the script error in the debugger. In other browsers, like Chrome, you can see the error, but the loading panel does disappear, so it is not as obvious.
I'm also including where the script error occurs: on the line "oldIds = upData.oldUpdatePanelIDs"....the error is that oldUpdatePanelIDs is null. The snippet for that code is below too from the debugger.
Lastly, here is a video that clearly demonstrates the issue, as well as shows that Q3 2012 did not do this, so it appears to be a breaking change.
http://www.youtube.com/watch?v=1FuNEoNWBec
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:ScriptManager
runat
=
"server"
ID
=
"ScriptManager"
></
asp:ScriptManager
>
<
telerik:RadAjaxManager
runat
=
"server"
ID
=
"RadAjaxManager"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnTest"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlAll"
LoadingPanelID
=
"LoadingPanel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
runat
=
"server"
ID
=
"LoadingPanel"
BackColor
=
"Black"
Transparency
=
"50"
></
telerik:RadAjaxLoadingPanel
>
<
asp:Panel
runat
=
"server"
ID
=
"pnlAll"
>
This is the test page.
<
br
/><
br
/><
br
/><
br
/>
<
asp:Button
runat
=
"server"
ID
=
"btnTest"
Text
=
"Test Me"
/>
</
asp:Panel
>
<
telerik:RadFormDecorator
Enabled
=
"true"
runat
=
"server"
ID
=
"RadFormDecorator1"
Skin
=
"Default"
DecoratedControls
=
"Buttons"
/>
</
form
>
</
body
>
</
html
>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
namespace
WebApplication2
{
public
partial
class
WebForm1 : System.Web.UI.Page
{
public
WebForm1()
{
this
.Init += WebForm1_Init;
}
void
WebForm1_Init(
object
sender, EventArgs e)
{
btnTest.Click += btnTest_Click;
}
void
btnTest_Click(
object
sender, EventArgs e)
{
throw
new
Exception(
"THis is a test"
) ;
}
}
}