J'ai un MasterPage et une page de contenu. Dans la page de contenu, j'ai un gestionnaire de script et un panneau de mise à jour. Dans le panneau de mise à jour, je souhaite pouvoir cliquer sur un bouton qui toucherait une méthode publique sur la page principale pour afficher un message. Cela fonctionne si je n'ai pas de panneau de mise à jour sur la page de contenu, mais y a-t-il un moyen de le faire fonctionner lorsque le bouton est dans un panneau de mise à jour?
Page maître: P>
Master.ShowMessage("something");
6 Réponses :
Vous aurez besoin voici un Poste de blog pour décrire le processus. Fondamentalement, vous perturez vos commandes. P> Désolé, je viens de relire votre question. Le code ci-dessus vous permettra de trouver un bouton sur votre Masterminateur à partir de votre page de contenu CodeBeHind. P> Il est un peu plus difficile d'exécuter la méthode MasterPage CodeBeHind à partir de votre page de contenu. Une meilleure façon peut être d'un événement JavaScript à votre bouton (ou simplement d'utiliser jQuery) et de mettre le code pour un fenêtre modale dans votre masterpage. P> si vous êtes vraiment accroché En appelant une méthode Masterpage à partir de votre page de contenu, vous devez faire la méthode publique p> Rechercher des informations dans Étape 4: Appelant les membres publics de la page maître d'une page de contenu P> Il existe deux manières qu'une page de contenu peut interfacer par programme avec sa page principale: p>
EDIT H2>
Cependant h1>
Je suis déjà capable d'appeler la méthode comme je l'ai notée dans ma question, la seule chose que je ne puisse pas comprendre est d'appeler à partir d'un panneau de mise à jour. "Cela fonctionne si je n'ai pas de panneau de mise à jour sur la page de contenu, mais existe-t-il un moyen de le faire fonctionner lorsque le bouton se trouve dans un panneau de mise à jour?"
J'ai fini par la sucer et mettre le gestionnaire de script sur la page principale et mettre l'étiquette sur la page principale à l'intérieur d'un panneau de mise à jour. P>
Je pense que c'est un peu en retard, mais pour ceux qui recherchent la solution,
Assumant votre classe de page maître comme: p> de votre page de contenu vous peut facilement appeler n'importe quelle méthode publique comme suit: p>
Fonction qui définit dans MasterPage: fonction définit dans la page de contenu p> Vous pouvez appeler la fonction de MasterPage à partir de la page de contenu comme cette. p> p>
Basé sur la solution d'Amin, j'ai utilisé une méthode d'extension pour résoudre plus souvent cela plus souvent. Exemple: P> this.Master.GetMasterPageObject<MasterPageClass>().MethodYouNeed("Parameters");
<% @ MasterType VirtualPath = "~ / Masters / SourcePage.master"%> p>
maître.method (); (en code derrière) p>
C'est la meilleure solution en évitant le casting.
Cette page a un code pour cela aussi Stackoverflow.com/questions / 6332889 / Call-Méthode-in-Master-Pa Ge