Question

Comment mettre à jour une entrée cachée dans un UpdatePanel sur un AsyncPostBack?

L'utilisateur clique sur un bouton situé en dehors du panneau. La méthode associée à l'événement click met à jour la valeur de l'entrée (elle a la propriété runat = & Quot; server & Quot;).

Je ne peux pas mettre à jour la valeur de cette entrée.

Je dois stocker une valeur à utiliser dans la publication suivante. Peut-être que je peux utiliser session pour stocker cette valeur.

Un conseil?

Merci!

Était-ce utile?

La solution 4

Pas question. La seule façon de mettre à jour une entrée est de faire un post complet. Il vaut mieux utiliser l'objet Session.

Autres conseils

Comme il s’agit d’une publication (postback), vous devrez peut-être vérifier l’événement post back et effectuer la mise à jour. Sinon, vous devrez peut-être remplacer un événement antérieur. Voir http://msdn.microsoft.com/en-us/library/dct97kc .aspx

Si vous devez mettre à jour le panneau de mise à jour (et son contenu) en cliquant sur un bouton n'apparaissant pas dans le panneau de mise à jour, ajoutez une section semblable à celle-ci:

<asp:Button ID="btnOK" runat="server"/> 
<asp:UpdatePanel ID="pnlMyPanel" runat="server">
    <ContentTemplate>
        <!-- Content to get updated -->
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnOK" />
    </Triggers> 
</asp:UpdatePanel>

La section des déclencheurs dans l'exemple ci-dessus indique au panneau de mise à jour de se mettre à jour en cas de clic sur le bouton.

Vous pouvez essayer un <asp:HiddenField> plutôt qu'un <input type='hidden' runat='server'>. Je pense que la version asp.net est plus sensible au post-back.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top