Le moyen le plus simple de mettre à jour une variable de tableau javascript côté client lors d'une publication ASP.NET AJAX dans un UpdatePanel?

StackOverflow https://stackoverflow.com/questions/95005

  •  01-07-2019
  •  | 
  •  

Question

Si je souhaite injecter une variable de tableau à portée globale dans le code javascript côté client pendant la publication d'une page complète, je peux utiliser:

this.Page.ClientScript.RegisterArrayDeclaration("WorkCalendar", "\"" + date.ToShortDateString() + "\"");

pour déclarer et renseigner un tableau javascript côté client sur la page. Sympa et simple.

Mais je veux faire la même chose à partir d'une publication asynchrone d'un UpdatePanel.

Le plus proche que je puisse imaginer jusqu'ici consiste à créer un fichier .js contenant uniquement la déclaration var, à mettre à jour le fichier lors de la publication asynchrone, puis à utiliser un ScriptManagerProxy.Scripts.Add à ajouter. le fichier .js à la portée globale de la page.

Y a-t-il quelque chose de plus simple? Est-ce que ça ne va pas?

Était-ce utile?

La solution

Vous pouvez également mettre à jour une étiquette cachée dans le panneau de mise à jour, ce qui vous permet d'écrire le code javascript de votre choix. Je suggérerais toutefois d’utiliser des services Web ou même des méthodes de page pour récupérer les données dont vous avez besoin au lieu d’utiliser des panneaux de mise à jour.

Exemple: myLabel.Text = " .... " ;; ... mettez votre logique dans ceci ou vous pouvez ajouter [WebMethod] à n’importe quelle méthode de page statique publique et renvoyer les données directement.

Autres conseils

Utilisez la méthode statique System.Web.UI.ScriptManager.AddStartupScript ()

Le script s'exécutera sur tous les postbacks complets et partiels.

Sam est correct. ScriptManager.RegisterStartupScript est le nom correct de la fonction. Il fonctionnera sur toutes les mises à jour complètes ou partielles.

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