Comment utiliser __doPostBack()
Je suis en train de créer un asyncrhonous publication dans ASP.NET à l'aide de __doPostBack()
, mais je n'ai aucune idée de comment le faire. Je veux utiliser de la vanille JavaScript.
Quelque chose de simple comme un clic sur un bouton peut causer la __doPostBack()
cas d'incendie. Je suis juste essayer d'apprendre le mécanisme fonctionne.
- double possible de Asychnronous Message Envoyer Asp.net
- Tout d'abord __doPostBack ne cause pas l'action asynchrone, sauf si elle est déclenchée par le contrôle à l'intérieur de UpdatePanel.
- Pourquoi est-ce tagged c# et javascript. Je comprends la javascript, mais pas la c# la partie.
- Ucko est - parce que __doPostBack() provoque la page de la POSTE à ses côté serveur de mise en œuvre, qui sera probablement en C# (peut-être VB.NET)
- Alors qu'il travaille habituellement, insérant manuellement
__doPostBack
n'est pas réellement pris en charge. Si votre page n'a rien sur lui qui déclenche une publication, asp.net peut omettre la définition de la__doPostBack
fonction. L'approche prise en charge est d'appelerClientScriptManager.GetPostBackEventReference
, qui retourne une chaîne de caractères sous la forme__doPostBack(...)
et s'assure que__doPostBack
est défini.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer dans votre formulaire web avec un bouton appelé btnSave par exemple:
Et dans votre code derrière ajouter quelque chose comme ça à la lecture de la valeur et de fonctionner sur elle:
Donner un essai et laissez-nous savoir si cela a fonctionné pour vous.
IEnumerable
au lieu destring
dans le C#, je n'ai pas essayé donc ne peut pas garantir que cela fonctionnerait, mais il doit être possible.C'est aussi un bon moyen d'obtenir des contrôles côté serveur pour publication à l'intérieur de FancyBox et/ou jQuery Dialogue.
Par exemple, dans la FancyBox-div:
JavaScript:
Côté serveur Page_Load:
ClientIDMode="Static"
attribut deMyButton
, de sorte que l'ASP ne pas marquer les ID du bouton.Voici un bref tutoriel sur la façon
__doPostBack()
œuvres.Pour être honnête, je ne l'utilise pas beaucoup, au moins directement. De nombreux contrôles serveur (par exemple,
Button
,LinkButton
,ImageButton
, les pièces de laGridView
, etc.) utilisation__doPostBack
comme leur nouveau mécanisme.Je voudrais juste ajouter quelque chose à ce post pour
asp:button
. J'ai essayé clientId et il ne semble pas fonctionner pour moi:Cependant, obtenir l'id unique semble à publier sur le serveur, comme ci-dessous:
Cela peut aider quelqu'un d'autre à l'avenir, d'où l'affichage de cette.
ClientID
, parce que j'ai été en utilisantClientIDMode = Static
. À l'aide deUniqueID
travaillé.Vieille question, mais je voudrais ajouter quelque chose: lors de l'appel
doPostBack()
vous pouvez utiliser le serveur gestionnaire de méthode pour l'action.Pour un exemple:
Le feu, sur le serveur:
Je n'ai pas trouvé une meilleure façon d'obtenir de l'argument, donc, je suis toujours à l'aide de
Request["__EVENTARGUMENT"]
.Comme d'autres l'ont dit, vous devez fournir l'id unique du contrôle de l' __doPostback() la méthode.
Sur le serveur, le formulaire soumis valeurs sont identifiées par le nom attribut des champs de la page.
La raison pour laquelle UniqueID fonctionne est parce que UniqueID et nom sont en fait la même chose quand le serveur de contrôle est rendu au format HTML.
Voici un article qui explique ce qu'est l'id unique:
C'est comment je le fais