Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Post back not working in Firefox for asp.net(C#) pages

I have a problem with mozilla firefox.

I am developing a web site using asp.net language and I have a button in a form. when i clicked the button at onclick attributies i am calling a function and this funtion doing postback.

this scenerio is working chrome and internet exploerer. but it is not working at mozilla firefox. i am getting this error in console : TypeError: access to strict mode caller function is censored..

my sample button is :

<input id="Button1" type="button" onclick="sampleFunc('sample');" value="button" />

and my sample function is :

function sampleFunc(reqMessage)
{
  __doPostBack('', reqMessage);
}

I searched on internet. and many people have rhis problem but there is no any solution.

Do you have any solution about this bug (!)

EDIT 1: I have found a ticket on jquery web site. According to the ticked, thay fixed that bug. But i applied same solition but my bug is continue. :(

like image 834
Mahmut EFE Avatar asked Dec 18 '14 11:12

Mahmut EFE


2 Answers

ASP.Net ScriptManager code walks up the call stack with "caller.callee" in __doPostBack to detect infinite recursion. That will fail on FireFox if any function in the call stack was parsed with "use strict" applied. The workaround is to have a function outside of the scope of "use strict" that calls setTimeout() to call a function that calls __doPostBack. setTimeout() gets you out of the call stack.

like image 105
maddoxej Avatar answered Oct 21 '22 13:10

maddoxej


Finaly i found the answer.

I am using alertfy javascript library for popup message. This Library is using "Use strict" expression.

And i deleted this expression from this library, Now there is no problem. My code is working on all browsers.

like image 25
Mahmut EFE Avatar answered Oct 21 '22 13:10

Mahmut EFE