6 votes

Que signifie la fonction __doPostBack, et quand est-elle utilisée ?

J'ai eu des problèmes pour déclencher des événements de clics sur des boutons côté serveur. J'ai trouvé une solution sur le net qui m'a dit de faire quelque chose comme ceci

  <input type="submit" name="button" id="loginButton" value="Submit" 
                            class="button-orange" alt="Register" title="Register" runat = "server" onclick ="this.disabled=true;__doPostBack('loginButton','')"/>

Je l'ai fait, et ça a marché, mais j'aimerais savoir ce qui se passe !

6voto

Jakub Konecki Points 28852

Consultez cet article :

Comprendre la fonction JavaScript __doPostBack

Cette méthode est utilisée pour soumettre (renvoyer) un formulaire au serveur et permet au cadre ASP.NET d'appeler les gestionnaires d'événements appropriés attachés au contrôle qui a provoqué le renvoi.

En général (dans les scénarios simples), vous n'utilisez pas directement la méthode - elle est utilisée en interne par les contrôles que vous déposez sur la page.

Les paramètres passés à cette fonction sont stockés dans un champ caché et récupérés par le cadre ASP.NET côté serveur afin de trouver le contrôle qui a renvoyé le message.

4voto

Robert Points 2119

En clair, il est utilisé principalement par les contrôles avec la propriété AutoPostBack

http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

si vous souhaitez mettre en œuvre la fonction de retour automatique pour votre contrôle personnalisé, vous devez mettre en œuvre la fonction IPostBackDataHandler

2voto

Shadow Wizard Points 38568

La solution peut fonctionner mais ce n'est pas une vraie solution. La meilleure solution serait de trouver pourquoi les événements des boutons ne se déclenchent pas et de résoudre le cœur du problème.

Maintenant, pour répondre à vos questions PostBack est le terme utilisé pour décrire le moment où le formulaire est soumis (affiché) à la même page. C'est aussi simple que cela.

Un bouton d'envoi ordinaire aurait suffi, mais une partie de PostBack est la possibilité d'identifier le contrôle qui l'a déclenché, c'est-à-dire le bouton ou le lien sur lequel on a cliqué.

Pour faire une telle chose ASP.NET ajoute automatiquement des champs cachés au formulaire et, lorsqu'on clique sur un élément qui devrait provoquer un PostBack, un code JavaScript est utilisé pour mettre à jour les valeurs de ces champs cachés et leur donner les valeurs appropriées indiquant ce qui a été cliqué - l'argument que vous passez.

Le nom que Microsoft a choisi de donner à la fonction JS qui fait ce qui précède est le suivant __doPostBack - c'est juste le nom d'une fonction, une fonction JavaScript ordinaire qui ASP.NET écrit automatiquement dans le navigateur.

J'espère que les choses sont un peu plus claires maintenant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X