ASP.NET AJAX updatePanel imbriqués modalPopup funkiness

Il semble que, dans certains cas, si vous vous retrouvez avec imbriqué modalPopups enveloppé avec des updatePanels (pas l'idéal, je sais, et devrait probablement être refait, mais c'est ce à quoi nous travaillons avec car de la façon dont certains de l'utilisateur contrôles que nous avons voulu réutiliser ont été écrits), quand vous tirez une publication qui devrait ouvrir la imbriquée modalPopup, au lieu de cela, il ferme le parent. Pour les besoins de la discussion, si j'ai mis un point d'arrêt et d'exécuter

((ModalPopupExtender)this.Parent.Parent.FindControl("modalPopupExtender'sID").Show();

juste avant que l'enfant modalPopup de la méthode Show() est appelée, elle travaille que nous avions initialement prévu. Il me semble que, parce que quand les updatePanels sont imbriqués, ils peuvent publier leur parent, le parent modalPopup "ne sait pas", c'est censé être de montrer et de la recharge de son panneau de visibilité à partir de zéro comme faux. Parce que l'enfant modalPopup est alors imbriquée à l'intérieur d'un panneau parent dont la visibilité est faux, l'appel Show() n'a aucun effet non plus. Ainsi, au lieu de faire un autre modalPopup ouvert, le courant d'une ferme. Ce n'est pas une erreur, juste comportement nous ne nous attendions pas, de sorte qu'il était difficile de traquer avec aucune exception n'est levée n'importe où, mais je pense que l'explication ci-dessus a du sens... Si j'ai bien compris le problème de manière incorrecte, veuillez le préciser et de m'éclairer, parce que cela ne semble pas se produire tout le temps je pense il serait!

À ce stade, pour cette situation particulière, nous sommes coincés ré-écriture de certains de ces contrôles pour ne pas se retrouver avec imbriqué updatePanels de sorte que cela n'arrive pas, mais je suis curieux de savoir:

Quelqu'un a rencontré ce problème avant, et avez-vous fait avec l'un astucieux de contourner ce qui n'implique pas un appel à FindControl() pour ré-Afficher() de la modalPopup en question?

  • La plus-je utiliser UpdatePanels plus je les déteste. Je vous suggère d'apprendre jQuery ou une autre librairie javascript et éviter d'utiliser des UpdatePanels tous ensemble.
  • Ouais, eh bien, maintenant que jQuery est gonig être livré avec VS renforcée de l'intellisense, que va devenir beaucoup plus commun je pense! UpdatePanels sont beau en théorie, parce que vous n'avez pas à penser à eux, il suffit de les jeter dans le balisage... si seulement ils ont TRAVAILLÉ dans chaque situation.
  • Je ne suis pas sûr que je comprends l'updatePanel/modal de la hiérarchie que vous avez. Est-ce que vous avez un modal qui contient un panneau de mise à jour, et le panneau de mise à jour a un modal-t-il?
  • Je n'ai pas en face de moi atm puisque certains changements ont déjà été vérifié, mais je pense que c'est <updatePanel> <modalPopup> <updatePanel> <modalPopup> </modalPopup> </updatePanel> </modalPopup> </updatePanel> Il pourrait même être une troisième updatePanel enveloppant tous 😛
  • (oh désolé, c'est tellement difficile à lire, les retours chariot et les espaces ont été ignorés... j'aurais pensé à ça)
InformationsquelleAutor Grank | 2008-09-29