2009-10-13 5 views
1

J'ai donc une page maître avec un identifiant qui se trouve dans un panneau de mise à jour. J'ai une page enfant qui a un contrôle littéral qui doit être mis à jour lorsque la connexion est mise à jour. Ce qu'il ne fait pas, c'est recharger la méthode que j'utilise pour générer le contenu de ce littéral lors de sa publication. J'ai essayé d'appeler la méthode sur la page enfant à partir de la page maître une fois que vous cliquez sur Connexion, mais j'obtiens une erreur que le contrôle littéral ne peut pas être trouvé (car il existe sur la page enfant et non sur la page maître). Comment est-ce que je référencerais ce contrôle dans la masterpage pour le passer à ma méthode?Masterpage + updatepanel sur la page enfant

Répondre

0

L'article ci-dessous montre comment l'arborescence de contrôle fonctionne avec MasterPages et comment référencer différentes commandes à différents niveaux de l'arborescence de contrôle.

ASP.Net 2.0 - Master Pages: Tips, Tricks, and Traps

+0

Eh bien, rien de tout cela n'a pas encore réussi à trouver le contrôle. Les problèmes sont plus comme lorsque la mise à jour de la page enfant recharge, il ne fait pas une publication complète pour actualiser les données sauf si j'applique recharger. Il vérifie un ensemble de variables de session après vous être connecté. Peut-être que la variable de session est définie après que la méthode qui contrôle le contenu de la page enfant est déclenchée? –

+0

S'il vous plaît poster un peu de code. Tout ce que je suggère est une supposition. –

0

Ainsi, le scénario est que vous avez un panneau de mise à jour sur la page de l'enfant que lorsqu'elle est déclenchée à jour ne/rafraîchir pas votre permet de dire, l'étiquette qui est dans votre tête sur votre page principale.

Ce que vous faites est, dans le code derrière votre page maître créer une fonction qui change la valeur de l'étiquette.

Inclure un panneau de mise à jour sur la page principale de l'étiquette, qui est déclenchée par l'événement TextChanged etc.

Maintenant, dans votre code de page enfant derrière ou votre laisser dire, bouton événement click, invoquez la fonction qui existe dans la page maquette et envoie la valeur nécessaire entre parenthèses.

C#:

((MyMaster)this.Page.Master).ShowMessage(text); 

VB.NET:

DirectCast(Me.Page.Master, MyMaster).ShowMessage(text) 

Cela devrait mettre à jour l'étiquette avec la valeur correcte tout en déclenchant le panneau de mise à jour sur la page principale et donc rafraîchir votre étiquette aussi bien.

Je suis sur le point d'essayer cela maintenant pour moi-même, souhaite-moi bonne chance. : D

Questions connexes