J'ai un panneau de mise à jour dans une cellule pour chaque ligne dans une grille. L'utilisateur clique sur un bouton de lien de ce panneau de mise à jour pour afficher (en utilisant window.open()) une fenêtre contextuelle. Une action est effectuée dans cette fenêtre qui met à jour les données contenues dans le panneau de mise à jour mentionné ci-dessus. Je veux déclencher une mise à jour uniquement pour ce panneau de mise à jour lorsque la fenêtre contextuelle est fermée.Comment déclencher une publication de panneau de mise à jour à partir d'une page enfant?
Quelle est la meilleure façon de faire cela? Je recherche la capture de l'événement window.close et en passant en quelque sorte une valeur qui indique d'où la fenêtre contextuelle a été appelée, puis en appelant une publication pour ce panneau de mise à jour en javascript. Si cela fait une différence (dans le moins ça va - euh - dans mon code javascript), j'utilise une page maître et seulement le codage pour IE.
Trouvé ceci: http://forums.asp.net/p/1166328/1941797.aspx qui utilise le window.opener.document ... Encore une fois, l'utilisation d'une page maître complique les choses.
C'est le chemin que j'ai suivi. Le problème que j'ai rencontré est d'ajouter le code pour OnClientClick dans le code derrière qui utilise l'ID du bouton caché (j'utilise une page maître, donc l'identifiant est préfixé avec "ctl00_MasterContentHolder_grdResources_ctl02 _...") JavaScript n'est pas appelé quand j'ajoute l'appel dans le code derrière. Je l'ajoute comme ceci dans l'événement OnLoad: btnAdd.OnClientClick = "callback ('" + sUpdateButtonID + "');"; – JBoyd
Que se passe-t-il si vous codez le JavaScript comme un test? Si vous utilisez l'ID client du contrôle, il résoudra son conteneur d'attribution de noms pour vous. –
@JBoyd - au lieu de simplement utiliser SUpdateButtonID, utilisez SUpdateButton.ClientID. Ce sera l'ID généré ASP avec tous les éléments préfixés qui sont ajoutés à chaque contrôle sur une page. – Ahmad