Postback partiel avec Javascript

Je ne pouvais pas trouver quelque chose de similaire en SO.

Dans ASP.NET, existe-t-il un moyen pour que je puisse provoquer un postback partiel avec Javascript dans un UpdatePanel?
J'ai essayé __doPostBack() mais il fait un postback complet.
Je peux le tromper avec un bouton fictif et faire un click() puis gérer le postback partiel de cette façon, mais je veux une manière plus gracieuse que la ruse.

Merci.

Edit: J'ai trouvé ce disturbedbuddha.wordpress.com/2007/11/26/ … mais je ne peux pas le faire fonctionner = (
J'aimerais que cette méthode fonctionne; c'est parfait pour moi! Jusqu'à présent, ce que je peux faire en utilisant cette dernière méthode est une référence de gain à la minuterie. Lorsque la minuterie a été initialement désactivée, le démarrage de la minuterie ne semble pas provoquer de retour. Cependant, sans Ajax, si j'ai simplement la minuterie activée initialement, elle retourne à intervalles juste bien; Pourquoi l'appel Ajax ne peut-il pas le provoquer?

Vous pouvez utiliser AsyncPostBackTrigger avec UpdatePanel pour le faire. Parce que vous avez besoin de quelque chose qui peut déclencher un événement, utiliser un bouton est assez simple et lorsqu'il est caché fonctionne bien.

Si c'est votre balisage:

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" OnLoad="UpdatePanel1_Load"> <ContentTemplate> <!-- Contents... --> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="ReloadThePanel" EventName="Click" /> </Triggers> </asp:UpdatePanel> <asp:Button ID="ReloadThePanel" runat="server" style="display:none;" /> 

Lorsque vous souhaitez que le panneau soit mis à jour, il vous suffit d'appeler:

 __doPostBack('<%=ReloadThePanel.ClientID %>', null); 

Cela fera que ASP.NET pense que ReloadThePanel a été cliqué et le JavaScript généré automatiquement en raison du déclencheur va gérer le reste.

MODIFIER

Vous pouvez faire une mise à jour JavaScript pure du UpdatePanel sans déclencheurs ni boutons cachés. Il suffit d'appeler __doPostBack avec l'ID côté client comme premier argument.

 __doPostBack('<%=UpdatePanel1.ClientID %>', null); 

J'ai utilisé la réponse @MatthewJacobs, mais j'ai constaté que l'appel à __doPostBack provoquait une exception d'exécution sur IE11. J'ai trouvé que l'appel à __doPostBack peut être remplacé par l'appel JavaScript suivant, qui fonctionnait sur les deux navigateurs que j'ai testés (IE11 et Chrome 52).

 Sys.WebForms.PageRequestManager.getInstance().beginAsyncPostBack( [ '<%=UpdatePanel1.ClientID %>' ], '<%=UpdatePanel1.ClientID %>', null ); 

Voir la méthode Sys.WebForms.PageRequestManager.beginAsyncPostBack pour plus de détails.