J'ai une page qui dépend fortement d'un IList (dans ActionResult "MyEvents") que je passe dans ViewData. Quelque chose comme ça: ViewData ["events"] = listOfEvents; et à la fin, je juste return View();Comment puis-je mettre à jour un ASP.NET MVC ViewData via jQuery ajax?
Et dans ma vue, je prends ce ViewData ["events"] et fais un foreach pour que je puisse parcourir son contenu. Mais, ce ViewData doit être rempli dynamiquement. Donc, quand je clique sur un jour (j'utilise jQuery DatePicker), ce jour est envoyé comme argument à "MyEvents" et ce jour sera très important pour mes listOfEvents qui rempliront mes ViewData ["events"]. Mais le résultat que je reçois est que la div qui contient mon foreach crée une autre page entière à l'intérieur !! J'ai essayé de faire $ ("# myDiv"). Html (contentFromMyEvents) et c'est ce qui s'est passé.
Juste pour le test, je l'ai essayé aussi de faire $ (« # myDiv »). (Texte contentFromMyEvents) et tout le code html avec toutes ses étiquettes et everyting autre de ma page est apparu dans la div! C'était une page à l'intérieur d'une page !!
Donc, je pense que cela se passe parce que je suis de retour "return View();" et bien sûr, il rendra toute ma vue à nouveau. Alors, comment puis-je passer juste le ViewData ["events"] et le mettre à jour sur ma page ???
Merci!
Cette façon fonctionnera mais je pense personnellement que c'est une mauvaise pratique d'envoyer du code HTML sur le tuyau. – Kelly
D'accord. Je pense qu'il y a peut-être des circonstances dans lesquelles mon exemple est acceptable. Je viens de le fournir pour l'exhaustivité. –
En y réfléchissant un peu plus, j'ai utilisé cette technique récemment quand j'avais besoin d'intégrer un formulaire d'entrée existant dans un autre formulaire. La mise en page de formulaire était déjà dans une autre vue, et j'avais juste besoin d'un modal avec cette même interface graphique pour une fonctionnalité "ajout rapide". –