SiteMapPath.OnItemCreated(SiteMapNodeItemEventArgs) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst das ItemCreated Ereignis des Steuerelements SiteMapPath aus.
protected:
virtual void OnItemCreated(System::Web::UI::WebControls::SiteMapNodeItemEventArgs ^ e);
protected virtual void OnItemCreated(System.Web.UI.WebControls.SiteMapNodeItemEventArgs e);
abstract member OnItemCreated : System.Web.UI.WebControls.SiteMapNodeItemEventArgs -> unit
override this.OnItemCreated : System.Web.UI.WebControls.SiteMapNodeItemEventArgs -> unit
Protected Overridable Sub OnItemCreated (e As SiteMapNodeItemEventArgs)
Parameter
Ein SiteMapNodeItemEventArgs Objekt, das Ereignisdaten enthält.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Methode nach dem OnItemCreated Erstellen einer SiteMapNodeItem innerhalb der InitializeItem Methode aufgerufen wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die SiteMapPath Klasse bereitgestellt wird.
private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) {
SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes;
// Only do this work if there are child nodes.
if (childNodes != null) {
// Add another PathSeparator after the CurrentNode.
SiteMapNodeItem finalSeparator =
new SiteMapNodeItem(item.ItemIndex,
SiteMapNodeItemType.PathSeparator);
SiteMapNodeItemEventArgs eventArgs =
new SiteMapNodeItemEventArgs(finalSeparator);
InitializeItem(finalSeparator);
// Call OnItemCreated every time a SiteMapNodeItem is
// created and initialized.
OnItemCreated(eventArgs);
// The pathSeparator does not bind to any SiteMapNode, so
// do not call DataBind on the SiteMapNodeItem.
item.Controls.Add(finalSeparator);
// Create a DropDownList and populate it with the children of the
// CurrentNode. There are no styles or templates that are applied
// to the DropDownList control. If OnSelectedIndexChanged is raised,
// the event handler redirects to the page selected.
// The CurrentNode has child nodes.
DropDownList ddList = new DropDownList();
ddList.AutoPostBack = true;
ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler);
// Add a ListItem to the DropDownList for every node in the
// SiteMapNodes collection.
foreach (SiteMapNode node in childNodes) {
ddList.Items.Add(new ListItem(node.Title, node.Url));
}
item.Controls.Add(ddList);
}
}
Private Sub AddDropDownListAfterCurrentNode(item As SiteMapNodeItem)
Dim childNodes As SiteMapNodeCollection = item.SiteMapNode.ChildNodes
' Only do this work if there are child nodes.
If Not (childNodes Is Nothing) Then
' Add another PathSeparator after the CurrentNode.
Dim finalSeparator As New SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator)
Dim eventArgs As New SiteMapNodeItemEventArgs(finalSeparator)
InitializeItem(finalSeparator)
' Call OnItemCreated every time a SiteMapNodeItem is
' created and initialized.
OnItemCreated(eventArgs)
' The pathSeparator does not bind to any SiteMapNode, so
' do not call DataBind on the SiteMapNodeItem.
item.Controls.Add(finalSeparator)
' Create a DropDownList and populate it with the children of the
' CurrentNode. There are no styles or templates that are applied
' to the DropDownList control. If OnSelectedIndexChanged is raised,
' the event handler redirects to the page selected.
' The CurrentNode has child nodes.
Dim ddList As New DropDownList()
ddList.AutoPostBack = True
AddHandler ddList.SelectedIndexChanged, AddressOf Me.DropDownNavPathEventHandler
' Add a ListItem to the DropDownList for every node in the
' SiteMapNodes collection.
Dim node As SiteMapNode
For Each node In childNodes
ddList.Items.Add(New ListItem(node.Title, node.Url))
Next node
item.Controls.Add(ddList)
End If
End Sub
Hinweise
Das ItemCreated Ereignis wird ausgelöst, nachdem das SiteMapPath Steuerelement ein SiteMapNodeItemWebserversteuerelement erstellt hat, das ein SiteMapNodeWebserver-Steuerelement darstellt und es einem SiteMapNodeordnet. Die OnItemCreated Methode wird aufgerufen, bevor das erstellte Knotenelement an seine Daten gebunden ist. Auf diese Weise können Sie eine Ereignisbehandlungsmethode bereitstellen, die bei jeder Erstellung einer benutzerdefinierten Routine eine SiteMapNodeItem benutzerdefinierte Routine ausführt.
Das Auslösen eines Ereignisses ruft den Ereignishandler über einen Delegaten auf. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.
Mit der OnItemCreated Methode können abgeleitete Klassen auch das Ereignis behandeln, ohne einen Delegaten anzufügen. Dies ist die bevorzugte Technik für die Behandlung des Ereignisses in einer abgeleiteten Klasse.
Hinweise für Vererber
Achten Sie beim Überschreiben OnItemCreated(SiteMapNodeItemEventArgs) in einer abgeleiteten Klasse darauf, die Methode der Basisklasse OnItemCreated(SiteMapNodeItemEventArgs) aufzurufen, damit registrierte Stellvertretungen das Ereignis empfangen.