views:

1271

answers:

2

I am having a pagemethod to which i give a call from my JavaScript say

Pagemethods.MyMethod(MyParameter, onsucess, onfailure);

In the Code behind, I have something like this:

[WebMethod]
public static void MyMethod(Param)
{
   try{
     //DoSomething..
   }
   catch(exception ex)
   {
      //Log the exception and rethrow
      throw new exception(ex.innerexception);
   }
}

Now the issue i face is :

Whenever i do get an exception, i re throw the exception from code behind

But in the onfailure method, i just get a generic message saying that "the server method MyMethod failed with following error: "

I don't seem to get the exception details and only that generic exception,

How can i get the exception details on JavaScript, in order to handle it according on the UI/JavaScript side.

I have verified, that it is not an issue with custom errors settings in web.config.

Can some one enlighten to me as to what is happening here?

PS: i have stepped through each and every line of code and the exception after being logged is rethrown with the proper exception details i.e. message.

A: 

As far as I understand as long as you have

<customErrors mode="off" />

in your web.config, the message will be returned to client. Are you sure you have this setting ?

To display the message associated with error you need to have oassed the name of the function as the third parameter of the page method call : this function could be as simple as:

function onfailure( result )
{
   alert( result.get_message() );
}

That's what we have and it works OK

Tom Carter
Yes i do have custom errors mode "off"But wht i dont get is why do even get that generic message "the server method MyMethod failed with following error: "and only that much nothing in error details.
SudheerKovalam
What code do you have in your javascript onfailure function ? Do you use get_message to extract the 'message' ?
Tom Carter
this is how my onfailure method looks likefunction onCallFailure(ex, userContext, methodName){alert(ex.get_message());}This is where i see that generic error message i said i get
SudheerKovalam
my app does have a master page this master page has the script manager with page methods enabled.In one of the pages which use the above mentioned master page, there is a page method call to MyMethod.
SudheerKovalam
what gets returned from get_statusCode() and get_exceptionType() ?
Tom Carter
get_statusCode() returns 500 get_exceptionType returns empty stringget_message() returns the generic message i am saying
SudheerKovalam
Were you ever able to figure this out? I have the same issue and customerrors mode set to off doesn't help.
Justin
A: 

Did you add ScriptManager on ASPX and set its EnablePageMethods attribute to "true"?

Ramiz Uddin
Of course he did, it wouldn't call his server-side method otherwise.
Justin