8
votes

Comment appelez-vous des méthodes de page maître d'une page de contenu lorsque le bouton est à l'intérieur d'un panneau de mise à jour?

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");


1 commentaires

6 Réponses :


0
votes

Vous aurez besoin xxx

voici un Poste de blog pour décrire le processus. Fondamentalement, vous perturez vos commandes.

EDIT

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.

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. xxx

Cependant

si vous êtes vraiment accroché En appelant une méthode Masterpage à partir de votre page de contenu, vous devez faire la méthode publique

Rechercher des informations dans Étape 4: Appelant les membres publics de la page maître d'une page de contenu

Il existe deux manières qu'une page de contenu peut interfacer par programme avec sa page principale:

  • à l'aide de la page.master Propriété, qui renvoie une référence sans défaut à la page principale, ou
  • Spécifiez le type de page maître de la page ou le chemin de fichier via une directive @MasterType; Cela ajoute automatiquement une propriété fortement tapée à la page nommée Master.


1 commentaires

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?"



2
votes

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.


0 commentaires

19
votes

Je pense que c'est un peu en retard, mais pour ceux qui recherchent la solution,

Assumant votre classe de page maître comme: xxx

de votre page de contenu vous peut facilement appeler n'importe quelle méthode publique comme suit: xxx


0 commentaires

7
votes

Fonction qui définit dans MasterPage: xxx

fonction définit dans la page de contenu xxx

Vous pouvez appeler la fonction de MasterPage à partir de la page de contenu comme cette.


0 commentaires

0
votes

Basé sur la solution d'Amin, j'ai utilisé une méthode d'extension pour résoudre plus souvent cela plus souvent. XXX PRE>

Exemple: P>

this.Master.GetMasterPageObject<MasterPageClass>().MethodYouNeed("Parameters");


0 commentaires

1
votes

<% @ MasterType VirtualPath = "~ / Masters / SourcePage.master"%>

maître.method (); (en code derrière)


1 commentaires

C'est la meilleure solution en évitant le casting.