How to avoid javascript error 'args is not defined' in ajax autosave implementation?

I have attempted to implement autosave on a .net application using an ajax update panel. I am having difficulty with preventing / capturing errors. My initial attempt to capture errors involved that addition of  including  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
I then coded the error capture withing the endRequest function. That resulted in a Sys is not defined error. I found this posting: http://encosia.com/updated-your-webconfig-but-sys-is-still-undefined/ which led me to my latest implementation which has the sys handling in a separate script file. Now I receive the error 'args is not defined'. I'm not sure how to reference the args  to enable the ajax call. So you can see I am now out of my depth. I have included the code from my .aspx file and js file below. Your help greatly appreciated
Verdy SysInstance.js
.aspx page
SCRIPT REFERENCE:
	<asp:ScriptManager ID="SMan" runat="server" >
	<Scripts>
		<asp:ScriptReference Path="js/SysInstance.js" />
	</Scripts>
</asp:ScriptManager>

UPDATEPANEL CONTROL:
	    <asp:UpdatePanel ID="Deneme" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="TimerAutoSave" EventName="Tick" />
        </Triggers>
        <ContentTemplate>
            <asp:HiddenField ID="hdnUserID" runat="server" Value="" />
            <asp:HiddenField ID="hdnLanguageCode" runat="server" Value="" />
            <asp:HiddenField ID="hdnTempDocID" runat="server" Value="" />
            <asp:HiddenField ID="hdnServerName" runat="server" Value="" />
            <asp:HiddenField ID="hdnServerPort" runat="server" Value="" />
            <asp:HiddenField ID="hdnVirtualDirectoryName" runat="server" Value="" />
            <asp:HiddenField ID="hdnPostASPX" runat="server" Value="" />
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:Timer ID="TimerAutoSave" runat="server" Interval="5000" OnTick="TimerAutoSave_Tick">
    </asp:Timer>

Open in new window

verdanteAsked:
Who is Participating?
 
SriVaddadiConnect With a Mentor Commented:
Check here for better understanding
http://msdn.microsoft.com/en-us/library/bb383922.aspx

Not sure what you are intending to do but the BeginRequestEventArgs does not give you error object but EndRequestEventArgs does.

It makes sense because you would not have any error for that request even before sending request

You could have the code in endRequest handler. what kind of error info you are looking for?
0
 
SriVaddadiCommented:
check if this solves your problem

Sys.Application.add_init(AppInit);

function AppInit() {
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequest);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
}

function beginRequest(sender,args) {
    if (args.get_error() != undefined) {
        //$get('Error').style.visibility = "visible"; // Let the framework know that the error is handled, // so it doesn't throw the JavaScript alert.
        $get('Error').style.visibility = "hidden"; // Let the framework know that the error is handled, // so it doesn't throw the JavaScript alert.
        args.set_errorHandled(true);
    }
    prm._scrollPosition = null;
}

function endRequest(sender, args) { // Check to see if there's an error on this request.
    if (args.get_error() != undefined)
    //if ($get('Error').style.visibility == "visible")
    //    CloseError();
    {
        $get('Error').style.visibility = "hidden"; // Let the framework know that the error is handled, // so it doesn't throw the JavaScript alert.
        args.set_errorHandled(true);
    }
}
0
 
verdanteAuthor Commented:
Thanks SriVaddadi. I get a new error now:

args.get_error is not a function

cheers

Verdy
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
SriVaddadiCommented:
BeginRequestEventArgs does not have have get_error method. you have remove the code referring get_error in beginRequest

0
 
verdanteAuthor Commented:
Thanks. Sorry this is my code when I remove the comments. I thought the get_error() method was a property of the args parameter. Can you please advise how I can modify this code to make sure the get_error method is included:

function beginRequest(sender, args) {
    if (args.get_error() != undefined) {
        $get('Error').style.visibility = "hidden";
        args.set_errorHandled(true);
    }
    prm._scrollPosition = null;
}


0
 
verdanteAuthor Commented:
Thx for that. AS you can see I am out of my depth but you have taught me well. I removed the error handling from the beginrequest and it works nicely.
I'll also check out the link so I have a better understanding

thx again
Verdy
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.