次の方法で共有


SiteMapProvider.CurrentNode プロパティ

定義

現在要求されているページを表す SiteMapNode オブジェクトを取得します。

public:
 virtual property System::Web::SiteMapNode ^ CurrentNode { System::Web::SiteMapNode ^ get(); };
public virtual System.Web.SiteMapNode CurrentNode { get; }
member this.CurrentNode : System.Web.SiteMapNode
Public Overridable ReadOnly Property CurrentNode As SiteMapNode

プロパティ値

現在要求されているページを表す SiteMapNodeSiteMapNode が見つからなかった場合、または見つかったが現在のユーザーに返すことができない場合は null

次のコード例では、抽象SiteMapProviderクラスをCurrentNode実装するクラスに プロパティを実装する方法を示します。

このコード例は、SiteMapProvider クラスのために提供されている大規模な例の一部です。

// Implement the CurrentNode property.
public override SiteMapNode CurrentNode
{
  get
  {
    string currentUrl = FindCurrentUrl();
    // Find the SiteMapNode that represents the current page.
    SiteMapNode currentNode = FindSiteMapNode(currentUrl);
    return currentNode;
  }
}

// Implement the RootNode property.
public override SiteMapNode RootNode
{
  get
  {
    return rootNode;
  }
}
' Implement the CurrentNode property.
Public Overrides ReadOnly Property CurrentNode() As SiteMapNode
  Get
    Dim currentUrl As String = FindCurrentUrl()
    ' Find the SiteMapNode that represents the current page.
    Dim aCurrentNode As SiteMapNode = FindSiteMapNode(currentUrl)
    Return aCurrentNode
  End Get
End Property

' Implement the RootNode property.
Public Overrides ReadOnly Property RootNode() As SiteMapNode
  Get
    Return aRootNode
  End Get
End Property

注釈

イベントは SiteMapResolve 、オブジェクトの取得 SiteMapNode を試みる前に発生し、イベント サブスクライバーが クラスの SiteMapNode インスタンスを返せるようにします。 イベント サブスクライバーがない場合、 SiteMapProvider クラスは現在の HTTP コンテキストを FindSiteMapNode 使用して メソッドを呼び出して、現在要求されているページを表す を取得 SiteMapNode します。

現在要求されているページが にSiteMapNodenull対応していない場合は、 が返されます。 セキュリティ トリミングが有効で、ユーザーが にアクセスSiteMapNodenullできない場合は、 が返されます。

適用対象

こちらもご覧ください