Ich habe eine Masterpage und eine Content-Seite. Auf der Inhaltsseite habe ich einen Skript-Manager und ein Update-Panel. Im Aktualisierungsbereich möchte ich auf eine Schaltfläche klicken können, die auf eine öffentliche Methode auf der Masterseite trifft, um eine Nachricht anzuzeigen. Dies funktioniert, wenn ich kein Update-Fenster auf der Inhaltsseite habe, aber gibt es eine Möglichkeit, es zum Laufen zu bringen, wenn sich die Schaltfläche in einem Update-Fenster befindet?
Master-Seite:
%Vor%Inhalt Seite:
%Vor%Funktion, die in masterpage definiert:
%Vor%Funktion, die auf der Inhaltsseite
definiert %Vor%Sie können die Funktion von masterpage auf der Inhaltsseite wie folgt aufrufen.
Sie müssen
%Vor%Hier ist ein Blogpost , der Ihnen bei der Beschreibung des Prozesses hilft. Im Grunde bohren Sie sich in Ihre Steuerelemente.
Tut mir leid, ich lese gerade Ihre Frage noch einmal. Der obige Code ermöglicht es Ihnen, einen Button auf Ihrer Masterpage von Ihrem Content-Page-Code zu finden.
Es ist etwas schwieriger, die Masterpage-Methode "codebehind" von Ihrer Inhaltsseite aus auszuführen. Ein besserer Weg könnte ein JavaScript-Ereignis für Ihre Schaltfläche sein (oder einfach jQuery verwenden) und den Code für ein JavaScript modales Fenster in Ihrer Masterpage.
%Vor%Wenn Sie wirklich eine Masterpage-Methode von Ihrer Content-Seite aufrufen möchten, müssen Sie die Methode public machen
Informationen finden Sie in Schritt 4 : Aufruf der öffentlichen Mitglieder der Masterseite von einer Inhaltsseite aus
Es gibt zwei Möglichkeiten, wie eine Inhaltsseite programmatisch mit ihrer Masterseite interagieren kann:
- Verwenden der Page.Master-Eigenschaft, die einen lose eingegebenen Verweis auf die Masterseite oder
zurückgibt- Geben Sie den Masterseitentyp oder den Pfad der Seite über eine @ MasterType-Anweisung an; Dies fügt der Seite namens Master automatisch eine stark typisierte Eigenschaft hinzu.
Basierend auf Amins Lösung, habe ich eine Erweiterungsmethode verwendet, um dies öfter zu lösen.
%Vor%Beispiel:
%Vor%