La publication en arrière ne fonctionne pas dans Firefox pour les pages asp.net (C #)

J’ai un problème avec Mozilla Firefox.

Je développe un site Web en langage asp.net et j’ai un bouton dans un formulaire. Quand j’ai cliqué sur le bouton à onclick atsortingbuties, j’appelle une fonction et cette fonction fait de la publication.

ce scénario fonctionne chrome et Internet exploiteur. mais cela ne fonctionne pas chez Mozilla Firefox. Je reçois cette erreur dans la console: TypeError: l’access à la fonction d’appelant en mode ssortingct est censuré ..

mon bouton échantillon est:

 

et mon exemple de fonction est:

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

J’ai cherché sur internet. et beaucoup de gens ont rhis problème, mais il n’y a pas de solution.

Avez-vous une solution à propos de ce bug (!)

EDIT 1: J’ai trouvé un ticket sur le site Web de jQuery. Selon le coché, ils ont corrigé ce bogue. Mais j’ai appliqué la même solition mais mon bug est de continuer. 🙁

Enfin, j’ai trouvé la réponse.

J’utilise la bibliothèque javascript alertfy pour le message contextuel. Cette bibliothèque utilise l’expression “Use ssortingct”.

Et j’ai supprimé cette expression de cette bibliothèque, maintenant il n’y a plus de problème. Mon code fonctionne sur tous les navigateurs.

Le code ASP.Net ScriptManager parcourt la stack d’appels avec “caller.callee” dans __doPostBack pour détecter une récursion infinie. Cela échouera sur FireFox si une fonction de la stack d’appels a été analysée avec “use script” appliqué. La solution de contournement consiste à avoir une fonction hors de la scope du “script d’utilisation” qui appelle setTimeout () pour appeler une fonction qui appelle __doPostBack. setTimeout vous sort de la stack d’appels.

Mon conseil est de garder javascript et html séparés .. au lieu d’utiliser l’appel en ligne, vous pouvez essayer cette méthode

Notez que jquery doit être chargé pour que cela fonctionne.

par exemple:

   

Ceci est un travail autour –

Ajouter un contrôleur de bouton côté serveur à votre page aspx –

  

Sur votre page de code derrière (aspx.cs), définissez la méthode d’événement qui effectuera le travail réel après la publication. Maintenant, faites ce contrôleur de bouton caché.

  

N’utilisez pas Visible=false car cela ne rendra pas le bouton du tout.

Maintenant changez votre fonction javascript pour invoquer, click sur `btn ‘

 function sampleFunc() { $('#btn').click(); } 

Et appelez cette fonction dans la méthode onclick de vos boutons de saisie HTML –