Share via


Interaktion mit der Inhaltsseite über die Masterseite (VB)

von Scott Mitchell

Untersucht das Aufrufen von Methoden, Festlegen von Eigenschaften usw. der Inhaltsseite aus Code in der Gestaltungsvorlage.

Einführung

Im vorherigen Tutorial wurde untersucht, wie die Inhaltsseite programmgesteuert mit der master-Seite interagiert. Denken Sie daran, dass wir die seite master aktualisiert haben, um ein GridView-Steuerelement mit den fünf zuletzt hinzugefügten Produkten zu enthalten. Anschließend haben wir eine Inhaltsseite erstellt, auf der der Benutzer ein neues Produkt hinzufügen konnte. Beim Hinzufügen eines neuen Produkts musste die Inhaltsseite die master Seite anweisen, ihre GridView zu aktualisieren, sodass sie das gerade hinzugefügte Produkt enthält. Diese Funktionalität wurde durch Hinzufügen einer öffentlichen Methode zur master Seite erreicht, die die an GridView gebundenen Daten aktualisiert hat, und dann diese Methode von der Inhaltsseite aus aufgerufen.

Die häufigste Form von Inhalt und master Seiteninteraktion stammt von der Inhaltsseite. Es ist jedoch möglich, dass die master Seite die aktuelle Inhaltsseite aktiviert, und diese Funktionalität kann erforderlich sein, wenn die master Seite Benutzeroberflächenelemente enthält, mit denen Benutzer Daten ändern können, die auch auf der Inhaltsseite angezeigt werden. Betrachten Sie eine Inhaltsseite, auf der die Produktinformationen in einem GridView-Steuerelement angezeigt werden, und eine master Seite, die ein Button-Steuerelement enthält, das beim Klicken die Preise aller Produkte verdoppelt. Ähnlich wie im Beispiel im vorherigen Tutorial muss die GridView aktualisiert werden, nachdem auf die Schaltfläche mit doppeltem Preis geklickt wurde, damit die neuen Preise angezeigt werden. In diesem Szenario ist es jedoch die master Seite, die die Inhaltsseite in aktion bringen muss.

In diesem Tutorial wird erläutert, wie die master-Seitenaufruffunktion auf der Inhaltsseite definiert wird.

Auslösen der programmgesteuerten Interaktion über ein Ereignis und Ereignishandler

Das Aufrufen von Inhaltsseitenfunktionen von einer master Seite ist schwieriger als umgekehrt. Da eine Inhaltsseite über eine einzelne master Seite verfügt, wissen wir beim Anstiften der programmgesteuerten Interaktion von der Inhaltsseite aus, welche öffentlichen Methoden und Eigenschaften uns zur Verfügung stehen. Eine master Seite kann jedoch viele verschiedene Inhaltsseiten enthalten, die jeweils über einen eigenen Satz von Eigenschaften und Methoden verfügen. Wie können wir dann Code auf der master Seite schreiben, um eine Aktion auf der Inhaltsseite auszuführen, wenn wir nicht wissen, welche Inhaltsseite bis zur Laufzeit aufgerufen wird?

Betrachten Sie ein ASP.NET-Websteuerelement, z. B. das Button-Steuerelement. Ein Button-Steuerelement kann auf einer beliebigen Anzahl von ASP.NET Seiten angezeigt werden und benötigt einen Mechanismus, mit dem es die Seite benachrichtigen kann, dass darauf geklickt wurde. Dies wird mithilfe von Ereignissen erreicht. Insbesondere löst das Button-Steuerelement sein Click Ereignis aus, wenn darauf geklickt wird. Die ASP.NET Seite, die die Schaltfläche enthält, kann optional über einen Ereignishandler auf diese Benachrichtigung reagieren.

Das gleiche Muster kann verwendet werden, um eine master Seitentriggerfunktion in den Inhaltsseiten zu haben:

  1. Fügen Sie der Seite master ein Ereignis hinzu.
  2. Lösen Sie das Ereignis aus, wenn die master Seite mit ihrer Inhaltsseite kommunizieren muss. Wenn beispielsweise die master-Seite ihre Inhaltsseite darüber benachrichtigen muss, dass der Benutzer die Preise verdoppelt hat, wird das Ereignis sofort ausgelöst, nachdem die Preise verdoppelt wurden.
  3. Erstellen Sie einen Ereignishandler auf den Inhaltsseiten, die eine Aktion ausführen müssen.

In diesem restlichen Tutorial wird das in der Einführung beschriebene Beispiel implementiert. nämlich eine Inhaltsseite, auf der die Produkte in der Datenbank aufgelistet werden, und eine master Seite, die ein Button-Steuerelement enthält, um die Preise zu verdoppeln.

Schritt 1: Anzeigen von Produkten auf einer Inhaltsseite

Unsere erste Aufgabe besteht darin, eine Inhaltsseite zu erstellen, auf der die Produkte aus der Northwind-Datenbank aufgelistet sind. (Wir haben die Northwind-Datenbank dem Projekt im vorherigen Tutorial hinzugefügt: Interaktion mit der Gestaltungsvorlage über die Inhaltsseite.) Fügen Sie dem Ordner zunächst eine neue ASP.NET Seite mit dem ~/Admin Namen Products.aspxhinzu, und stellen Sie sicher, dass Sie sie an die Site.master master Seite binden. Abbildung 1 zeigt die Projektmappen-Explorer, nachdem diese Seite der Website hinzugefügt wurde.

Hinzufügen einer Neuen ASP.NET-Seite zum Admin Ordner

Abbildung 01: Hinzufügen einer neuen ASP.NET-Seite zum Ordner (Klicken Sie, um dasAdmin bild in voller Größe anzuzeigen)

Denken Sie daran, dass im Tutorial Angeben des Titels, Metatags und anderer HTML-Header im Gestaltungsvorlagen-Tutorial eine benutzerdefinierte Basisseitenklasse mit dem Namen BasePage erstellt wurde, die den Titel der Seite generiert, wenn er nicht explizit festgelegt ist. Wechseln Sie zur CodeBehind-Klasse der Products.aspx Seite, und lassen Sie sie von BasePage (statt von ) ableiten System.Web.UI.Page.

Aktualisieren Sie abschließend die Web.sitemap Datei so, dass sie einen Eintrag für diese Lektion enthält. Fügen Sie das folgende Markup unter dem <siteMapNode> für die Lektion Inhalt zu Gestaltungsvorlageninteraktion hinzu:

<siteMapNode url="~/Admin/Products.aspx" title="Master to Content Page Interaction" />

Das Hinzufügen dieses <siteMapNode> Elements wird in der Liste Lektionen angezeigt (siehe Abbildung 5).

Kehren Sie zu Products.aspxzurück. Fügen Sie im Inhaltssteuerelement für MainContentein GridView-Steuerelement hinzu, und nennen Sie es ProductsGrid. Binden Sie das GridView an ein neues SqlDataSource-Steuerelement mit dem Namen ProductsDataSource.

Binden des GridView-Steuerelements an ein neues SqlDataSource-Steuerelement

Abbildung 02: Binden der GridView an ein neues SqlDataSource-Steuerelement (Klicken Sie, um das bild in voller Größe anzuzeigen)

Konfigurieren Sie den Assistenten so, dass er die Northwind-Datenbank verwendet. Wenn Sie das vorherige Tutorial durchgearbeitet haben, sollten Sie bereits über einen Verbindungszeichenfolge mit dem Namen verfügen NorthwindConnectionStringWeb.config. Wählen Sie diese Verbindungszeichenfolge aus der Dropdownliste aus, wie in Abbildung 3 dargestellt.

Konfigurieren der SqlDataSource für die Verwendung der Northwind-Datenbank

Abbildung 03: Konfigurieren der SqlDataSource für die Verwendung der Northwind-Datenbank (Klicken Sie hier, um das bild in voller Größe anzuzeigen)

Geben Sie als Nächstes die Anweisung des Datenquellensteuerelements SELECT an, indem Sie in der Dropdownliste die Tabelle Products auswählen und die ProductName Spalten und UnitPrice zurückgeben (siehe Abbildung 4). Klicken Sie auf Weiter und dann auf Fertig stellen, um den Assistenten Datenquellen konfigurieren abzuschließen.

Zurückgeben der Felder ProductName und UnitPrice aus der Tabelle

Abbildung 04: Zurückgeben der ProductName Felder und UnitPrice aus der Products Tabelle (Klicken Sie hier, um das bild in voller Größe anzuzeigen)

Das war es schon! Nach Abschluss des Assistenten fügt Visual Studio der GridView zwei BoundFields hinzu, um die beiden vom SqlDataSource-Steuerelement zurückgegebenen Felder zu Spiegel. Das Markup des GridView- und SqlDataSource-Steuerelements folgt. Abbildung 5 zeigt die Ergebnisse, wenn sie über einen Browser angezeigt werden.

<asp:GridView ID="ProductsGrid" runat="server" AutoGenerateColumns="False" 
 DataSourceID="ProductsDataSource">
 <Columns>
 <asp:BoundField DataField="ProductName" HeaderText="ProductName" 
 SortExpression="ProductName" />
 <asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" 
 SortExpression="UnitPrice" />
 </Columns>
</asp:GridView>

<asp:SqlDataSource ID="ProductsDataSource" runat="server" 
 ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
 SelectCommand="SELECT [ProductName], [UnitPrice] FROM [Products]">
</asp:SqlDataSource>

Jedes Produkt und sein Preis sind in der GridView aufgeführt.

Abbildung 05: Jedes Produkt und sein Preis wird in der GridView aufgeführt (Klicken Sie, um das bild in voller Größe anzuzeigen)

Hinweis

Fühlen Sie sich frei, das Erscheinungsbild der GridView zu sauber. Einige Vorschläge umfassen das Formatieren des angezeigten UnitPrice-Werts als Währung und die Verwendung von Hintergrundfarben und Schriftarten, um die Darstellung des Rasters zu verbessern. Weitere Informationen zum Anzeigen und Formatieren von Daten in ASP.NET finden Sie in meiner Tutorialreihe Arbeiten mit Daten.

Schritt 2: Hinzufügen einer Schaltfläche mit doppelten Preisen zur Gestaltungsvorlage

Unsere nächste Aufgabe besteht darin, der master Seite ein Button-Websteuerelement hinzuzufügen, das beim Klicken den Preis aller Produkte in der Datenbank verdoppelt. Öffnen Sie die Site.master seite master, und ziehen Sie eine Schaltfläche aus der Toolbox auf die Designer, und platzieren Sie sie unter dem RecentProductsDataSource SqlDataSource-Steuerelement, das wir im vorherigen Tutorial hinzugefügt haben. Legen Sie die Eigenschaft der ID Schaltfläche auf DoublePrice und ihre Text Eigenschaft auf "Doppelte Produktpreise" fest.

Fügen Sie als Nächstes der seite master ein SqlDataSource-Steuerelement hinzu, und nennen Sie es DoublePricesDataSource. Diese SqlDataSource wird verwendet, um die UPDATE Anweisung auszuführen, um alle Preise zu verdoppeln. Insbesondere müssen die Eigenschaften und UpdateCommand auf die entsprechenden Verbindungszeichenfolge und UPDATE -Anweisung festgelegt ConnectionString werden. Dann müssen wir die Methode dieses SqlDataSource-Steuerelements Update aufrufen, wenn auf die DoublePrice Schaltfläche geklickt wird. Um die ConnectionString Eigenschaften und UpdateCommand festzulegen, wählen Sie das SqlDataSource-Steuerelement aus, und wechseln Sie dann zum Eigenschaftenfenster. Die ConnectionString -Eigenschaft listet die bereits in Web.config einer Dropdownliste gespeicherten Verbindungszeichenfolgen auf. Wählen Sie die NorthwindConnectionString Option aus, wie in Abbildung 6 dargestellt.

Konfigurieren der SqlDataSource für die Verwendung des NorthwindConnectionString

Abbildung 06: Konfigurieren der SqlDataSource zum Verwenden von (Klicken Sie hier, um dasNorthwindConnectionString bild in voller Größe anzuzeigen)

Um die UpdateCommand Eigenschaft festzulegen, suchen Sie die Option UpdateQuery im Eigenschaftenfenster. Diese Eigenschaft zeigt bei Auswahl eine Schaltfläche mit Auslassungspunkten an. Klicken Sie auf diese Schaltfläche, um das Dialogfeld Befehl und Parameter Editor in Abbildung 7 anzuzeigen. Geben Sie die folgende UPDATE Anweisung in das Textfeld des Dialogfelds ein:

UPDATE Products SET UnitPrice = UnitPrice * 2

Diese Anweisung verdoppelt bei Ausführung den UnitPrice Wert für jeden Datensatz in der Products Tabelle.

Festlegen der UpdateCommand-Eigenschaft von SqlDataSource

Abbildung 07: Festlegen der UpdateCommandSqlDataSource-Eigenschaft (Klicken Sie hier, um das bild in voller Größe anzuzeigen)

Nach dem Festlegen dieser Eigenschaften sollte das deklarative Markup ihres Button- und SqlDataSource-Steuerelements wie folgt aussehen:

<asp:Button ID="DoublePrice" runat="server" 
 Text="Double Product Prices" />

<asp:SqlDataSource ID="DoublePricesDataSource" runat="server" 
 UpdateCommand="UPDATE Products SET UnitPrice = UnitPrice * 2" 
 ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
 ProviderName="<%$ ConnectionStrings:NorthwindConnectionString.ProviderName %>">
</asp:SqlDataSource>

Es bleibt nur noch, die entsprechende Update Methode aufzurufen, wenn auf die DoublePrice Schaltfläche geklickt wird. Erstellen Sie einen Click Ereignishandler für die DoublePrice Schaltfläche, und fügen Sie den folgenden Code hinzu:

Protected Sub DoublePrice_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DoublePrice.Click
 ' Double the prices
 DoublePricesDataSource.Update()
End Sub

Um diese Funktionalität zu testen, besuchen Sie die Seite, die ~/Admin/Products.aspx wir in Schritt 1 erstellt haben, und klicken Sie auf die Schaltfläche "Doppelte Produktpreise". Das Klicken auf die Schaltfläche bewirkt ein Postback und führt den DoublePrice Ereignishandler der Click Schaltfläche aus, wodurch die Preise aller Produkte verdoppelt werden. Die Seite wird dann erneut gerendert, und das Markup wird zurückgegeben und im Browser erneut angezeigt. Die GridView auf der Inhaltsseite enthält jedoch die gleichen Preise wie vor dem Klicken auf die Schaltfläche "Doppelte Produktpreise". Dies liegt daran, dass die Daten, die ursprünglich in gridView geladen wurden, ihren Zustand im Ansichtszustand gespeichert hatten, sodass sie nicht bei Postbacks neu geladen werden, es sei denn, es wurde anders angewiesen. Wenn Sie eine andere Seite besuchen und dann zur Seite zurückkehren, ~/Admin/Products.aspx werden die aktualisierten Preise angezeigt.

Schritt 3: Auslösen eines Ereignisses bei doppelter Preiserhöhung

Da die GridView auf der ~/Admin/Products.aspx Seite nicht sofort die Preisverdopplung widerspiegelt, kann ein Benutzer verständlicherweise denken, dass er nicht auf die Schaltfläche "Doppelte Produktpreise" geklickt hat oder dass es nicht funktioniert hat. Sie können versuchen, noch ein paar Mal auf die Schaltfläche zu klicken und die Preise immer wieder zu verdoppeln. Um dies zu beheben, müssen wir das Raster auf der Inhaltsseite sofort nach dem Verdoppeln der neuen Preise anzeigen lassen.

Wie weiter oben in diesem Tutorial erläutert, müssen wir ein Ereignis auf der seite master auslösen, wenn der Benutzer auf die DoublePrice Schaltfläche klickt. Ein Ereignis ist eine Möglichkeit für eine Klasse (ein Ereignisherausgeber), eine andere Gruppe anderer Klassen (die Ereignisabonnenten) darüber zu benachrichtigen, dass etwas Interessantes aufgetreten ist. In diesem Beispiel ist die seite master der Ereignisherausgeber. Die Inhaltsseiten, die sich beim Klicken auf die DoublePrice Schaltfläche kümmern, sind die Abonnenten.

Eine Klasse abonniert ein Ereignis, indem sie einen Ereignishandler erstellt. Dabei handelt es sich um eine Methode, die als Reaktion auf das ausgelöste Ereignis ausgeführt wird. Der Herausgeber definiert die Ereignisse, die er auslöst, indem er einen Ereignisdelegat definiert. Der Ereignisdelegat gibt an, welche Eingabeparameter der Ereignishandler akzeptieren muss. Im .NET Framework geben Ereignisdelegaten keinen Wert zurück und akzeptieren zwei Eingabeparameter:

  • Ein Object, das die Ereignisquelle identifiziert, und
  • Eine Klasse, die von abgeleitet wird System.EventArgs

Der zweite Parameter, der an einen Ereignishandler übergeben wird, kann zusätzliche Informationen zum Ereignis enthalten. Während die Basisklasse EventArgs keine Informationen übergibt, enthält die .NET Framework eine Reihe von Klassen, die zusätzliche Eigenschaften erweitern EventArgs und umfassen. Beispielsweise wird ein CommandEventArgs instance an Ereignishandler übergeben, die auf das Command Ereignis reagieren, und enthält zwei Informationseigenschaften: CommandArgument und CommandName.

Hinweis

Weitere Informationen zum Erstellen, Auslösen und Behandeln von Ereignissen finden Sie unter Ereignisse und Delegaten und Ereignisdelegaten in einfachem Englisch.

Verwenden Sie die folgende Syntax, um ein Ereignis zu definieren:

Public Event eventName As eventDelegate

Da wir die Inhaltsseite nur benachrichtigen müssen, wenn der Benutzer auf die DoublePrice Schaltfläche geklickt hat und keine weiteren zusätzlichen Informationen übergeben müssen, können wir den Ereignisdelegat EventHandlerverwenden, der einen Ereignishandler definiert, der als zweiten Parameter ein Objekt vom Typ System.EventArgsakzeptiert. Um das Ereignis auf der seite master zu erstellen, fügen Sie der CodeBehind-Klasse der master Seite die folgende Codezeile hinzu:

Partial Class Site
 Inherits System.Web.UI.MasterPage

 Public Event PricesDoubled As EventHandler
 ...
End Class

Mit dem obigen Code wird der master Seite ein öffentliches Ereignis mit dem Namen PricesDoubledhinzugefügt. Wir müssen dieses Ereignis jetzt erhöhen, nachdem die Preise verdoppelt wurden. Verwenden Sie die folgende Syntax, um ein Ereignis auszulösen:

RaiseEvent eventName(sender, eventArgs)

Dabei sind sender und eventArgs die Werte, die Sie an den Ereignishandler des Abonnenten übergeben möchten.

Aktualisieren Sie den DoublePriceClick Ereignishandler mit dem folgenden Code:

Protected Sub DoublePrice_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DoublePrice.Click
 ' Double the prices
 DoublePricesDataSource.Update()

 ' Refresh RecentProducts
 RecentProducts.DataBind()

 ' Raise the PricesDoubled event
 RaiseEvent PricesDoubled(Me, EventArgs.Empty)
End Sub

Wie zuvor ruft der Click Ereignishandler zunächst die Methode des DoublePricesDataSource SqlDataSource-Steuerelements Update auf, um die Preise aller Produkte zu verdoppeln. Im Anschluss gibt es zwei Ergänzungen zum Ereignishandler. Zunächst werden die RecentProducts GridView-Daten aktualisiert. Diese GridView wurde der Seite master im vorherigen Tutorial hinzugefügt und zeigt die fünf zuletzt hinzugefügten Produkte an. Wir müssen dieses Raster aktualisieren, damit die gerade verdoppelten Preise für diese fünf Produkte angezeigt werden. Anschließend wird das PricesDoubled -Ereignis ausgelöst. Ein Verweis auf die master Seite selbst (Me) wird als Ereignisquelle an den Ereignishandler gesendet, und ein leeres EventArgs Objekt wird als Ereignisargumente gesendet.

Schritt 4: Behandeln des Ereignisses auf der Inhaltsseite

An diesem Punkt löst die master Seite ihr PricesDoubled Ereignis aus, wenn auf das DoublePrice Button-Steuerelement geklickt wird. Dies ist jedoch nur die halbe Schlacht - wir müssen das Ereignis noch im Abonnenten behandeln. Dies umfasst zwei Schritte: Erstellen des Ereignishandlers und Hinzufügen von Ereignisverdrahtungscode, damit beim Auslösen des Ereignisses der Ereignishandler ausgeführt wird.

Erstellen Sie zunächst einen Ereignishandler mit dem Namen Master_PricesDoubled. Aufgrund der Definition des PricesDoubled Ereignisses auf der seite master müssen die beiden Eingabeparameter des Ereignishandlers jeweils vom Typ Object und EventArgssein. Rufen Sie im Ereignishandler die ProductsGrid GridView-Methode DataBind auf, um die Daten neu an das Raster zu binden.

Private Sub Master_PricesDoubled(ByVal sender As Object, ByVal e As EventArgs)
 ' Rebind data to ProductsGrid
 ProductsGrid.DataBind()
End Sub

Der Code für den Ereignishandler ist abgeschlossen, aber wir müssen das Ereignis der master Seite PricesDoubled noch mit diesem Ereignishandler verknüpfen. Der Abonnent verdrahtet ein Ereignis über die folgende Syntax mit einem Ereignishandler:

AddHandler publisher.eventName, AddressOf methodName

publisher ist ein Verweis auf das -Objekt, das das EventName-Ereignis angibt, und methodName ist der Name des im Abonnenten definierten Ereignishandlers.

Dieser Ereignisverdrahtungscode muss beim ersten Seitenbesuch und nachfolgenden Postbacks ausgeführt werden und sollte an einem Punkt im Seitenlebenszyklus auftreten, der dem Auslösen des Ereignisses vorangeht. Ein guter Zeitpunkt zum Hinzufügen von Ereignisverdrahtungscode befindet sich in der PreInit-Phase, die sehr früh im Seitenlebenszyklus auftritt.

Öffnen Sie ~/Admin/Products.aspx einen Ereignishandler, und erstellen Sie diesen Page_PreInit :

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreInit
 ' TODO: Put event wiring logic here
End Sub

Um diesen Verdrahtungscode abzuschließen, benötigen wir einen programmgesteuerten Verweis auf die master Seite von der Inhaltsseite. Wie im vorherigen Tutorial erwähnt, gibt es hierfür zwei Möglichkeiten:

  • Indem Sie die lose typisierte Page.Master Eigenschaft in den entsprechenden master Seitentyp umwandeln, oder
  • Indem Sie auf der .aspx Seite eine @MasterType Direktive hinzufügen und dann die stark typisierte Master Eigenschaft verwenden.

Verwenden wir den letztgenannten Ansatz. Fügen Sie oben im deklarativen Markup der Seite die folgende @MasterType Anweisung hinzu:

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

Fügen Sie dann den folgenden Ereignisverdrahtungscode in den Page_PreInit Ereignishandler ein:

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreInit
 AddHandler Master.PricesDoubled, AddressOf Master_PricesDoubled
End Sub

Wenn dieser Code vorhanden ist, wird die GridView auf der Inhaltsseite aktualisiert, wenn auf die DoublePrice Schaltfläche geklickt wird.

Die Abbildungen 8 und 9 veranschaulichen dieses Verhalten. Abbildung 8 zeigt die Seite beim ersten Besuch. Beachten Sie, dass Preiswerte sowohl in gridView RecentProducts (in der linken Spalte der master Seite) als auch in GridView ProductsGrid (auf der Inhaltsseite) angegeben sind. Abbildung 9 zeigt denselben Bildschirm unmittelbar nach dem Klicken auf die DoublePrice Schaltfläche. Wie Sie sehen, werden die neuen Preise sofort in beiden GridViews widerspiegelt.

Die Anfangspreiswerte

Abbildung 08: Die Anfangspreiswerte (Klicken Sie hier, um das bild in voller Größe anzuzeigen)

Die Just-Doubled Preise werden in den GridViews angezeigt.

Abbildung 09: Die Just-Doubled Preise werden in den GridViews angezeigt (Klicken Sie, um das bild in voller Größe anzuzeigen)

Zusammenfassung

Im Idealfall sind eine master Seite und deren Inhaltsseiten vollständig voneinander getrennt und erfordern keine Interaktionsebene. Wenn Sie jedoch über eine master Seite oder Inhaltsseite verfügen, die Daten anzeigt, die von der master- oder Inhaltsseite geändert werden können, müssen Sie möglicherweise die master Seite die Inhaltsseite (oder umgekehrt) benachrichtigen lassen, wenn Daten geändert werden, damit die Anzeige aktualisiert werden kann. Im vorherigen Tutorial haben wir gezeigt, wie eine Inhaltsseite programmgesteuert mit ihrer master-Seite interagiert. In diesem Tutorial haben wir untersucht, wie eine master Seite die Interaktion initiiert.

Während die programmgesteuerte Interaktion zwischen einem Inhalt und master Seite entweder vom Inhalt oder master Seite stammen kann, hängt das verwendete Interaktionsmuster von der Herkunft ab. Die Unterschiede sind darauf zurückzuführen, dass eine Inhaltsseite über eine einzelne master Seite verfügt, aber eine master Seite viele verschiedene Inhaltsseiten haben kann. Anstatt eine master Seite direkt mit einer Inhaltsseite zu interagieren, besteht ein besserer Ansatz darin, dass die master Seite ein Ereignis auslöst, um zu signalisieren, dass eine Aktion stattgefunden hat. Diese Inhaltsseiten, die sich um die Aktion kümmern, können Ereignishandler erstellen.

Viel Spaß beim Programmieren!

Weitere Informationen

Weitere Informationen zu den in diesem Tutorial erläuterten Themen finden Sie in den folgenden Ressourcen:

Zum Autor

Scott Mitchell, Autor mehrerer ASP/ASP.NET-Bücher und Gründer von 4GuysFromRolla.com, arbeitet seit 1998 mit Microsoft-Webtechnologien. Scott arbeitet als unabhängiger Berater, Trainer und Autor. Sein neuestes Buch ist Sams Teach Yourself ASP.NET 3.5 in 24 Stunden. Scott kann unter mitchell@4GuysFromRolla.com oder über seinen Blog unter http://ScottOnWriting.NETerreicht werden.

Besonderen Dank an

Diese Tutorialreihe wurde von vielen hilfreichen Prüfern überprüft. Lead Reviewer für dieses Tutorial war Suchi Banerjee. Möchten Sie meine anstehenden MSDN-Artikel lesen? Wenn dies der Fall ist, legen Sie mir eine Zeile unter mitchell@4GuysFromRolla.com