Le champ caché ASP.NET ne se met pas à jour après le lancement

J'ai un code sur ma page ASP qui ressemble à ceci:

<asp:UpdatePanel runat="server" id="updatepanel1" UpdateMode="Conditional" onload="updatepanel1_Load" ChildrenAsTriggers="false"> <ContentTemplate> <asp:HiddenField id="sendingRequest" runat="server" Value="0" /> .... </ContentTemplate> </asp:UpdatePanel> 

J'ai également un javascript sur ma page qui fait cela, pour déclencher la mise à jour du panneau de mise à jour:

 var sendingRequest = document.getElementById("<%=sendingRequest.ClientID%>"); sendingRequest.value = "1"; __doPostBack('<%= updatepanel1.ClientID %>', ''); 

Tout fonctionne bien jusqu'à maintenant, mais dans mon événement updatepanel1_Load, j'essaie de régler la valeur à "0":

 sendingRequest.Value = "0"; 

Cette valeur n'est jamais mise à jour et réinitialisée à 0 sur le client après le retour, et je ne peux pas comprendre pourquoi!

Quelqu'un peut-il aider? Merci

Si vous rencontrez des problèmes avec un champ caché, vous pouvez plutôt utiliser un TextBox. Cacher la zone de texte avec css ( display: none; ) pour obtenir des résultats similaires dans un champ caché. Ce n'est pas vraiment joli, mais c'est une solution de travail viable.

Essayez d'appeler registerstartupscript ou quelque chose comme ça du côté du serveur. Je ne me souviens pas exactement du nom de la méthode mais de la partie de l'objet de la page. Cela enregistrera tout javascript que vous souhaitez exécuter après le lancement du côté client.

Ce scénario similaire est fait ici avec succès:

http://encosia.com/easily-refresh-an-updatepanel-using-javascript/

Assurez-vous de suivre les mêmes étapes – je ne vois pas tout votre code. Essayez avec une étiquette d'abord pour vous assurer qu'elle est mise à jour en tant que contrôle visible. Si cela fonctionne, réduisez-le avec votre valeur cachée pour vous assurer que le comportement n'est pas différent pour un contrôle caché.