SiteMapNodeとは? わかりやすく解説

SiteMapNode クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

SiteMap クラスと SiteMapProvider 抽象クラス実装するクラスとで記述される階層サイト マップ構造存在するノード表します

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class SiteMapNode
    Implements ICloneable, IHierarchyData, INavigateUIData
public class SiteMapNode : ICloneable, IHierarchyData,
 INavigateUIData
public ref class SiteMapNode : ICloneable,
 IHierarchyData, INavigateUIData
public class SiteMapNode implements ICloneable,
 IHierarchyData, 
    INavigateUIData
public class SiteMapNode implements ICloneable,
 IHierarchyData, 
    INavigateUIData
解説解説

SiteMapNode オブジェクトは、サイト マップ構造内の Web サイト ページ表しますSiteMapNode オブジェクトは、サイト マップ データ永続ストレージからメモリ読み込むために、SiteMap 静的クラスによって 1 つ上のサイト マップ プロバイダ使用して実行時読み込まれます。SiteMapNode オブジェクトは、SiteMapNodeItem クラスによってラップされ、SiteMapPath コントロールなどの Web サーバー コントロールによって使用されます。

SiteMapNode クラスには、Web サイト単一ページ記述使用するいくつかのプロパティ含まれています。UrlTitle、および Description の各プロパティなどです。Url プロパティは、ASP.NET既定サイト マップ プロバイダである XmlSiteMapProvider クラスによって、プロバイダノード追跡使用する内部コレクションルックアップ キーとして使用されます。一方 SiteMapNode クラスは、サイト マップ プロバイダノード追跡使用できる Key 基本プロパティサポートしますまた、Url プロバイダナビゲーション コントロール使用してナビゲーション構造内にページへのハイパーリンク表示することもできますTitle プロパティSiteMapNode表示名で、Web フォームHTML タイトルと同じであることが多くナビゲーション コントロールによってシンプルなラベル表示使用されます。最後にSiteMapNode オブジェクト使用するサイト マップ プロバイダは、Attributes 追加属性の NameValueCollection コレクション使用できますが、SiteMapNode 基本クラスにない追加プロパティ必要になります

使用例使用例

このセクションには、2 つコード例含まれています。新しサイト マップ ノード コレクション作成して、それに要素追加する方法最初コード例示しますサイト マップ データテキスト ファイルから読み込む方法2 番目のコード例示します

SiteMapNodeCollection コンストラクタ使用して新しい SiteMapNodeCollection コレクション作成しAdd メソッド使用してそれに要素追加する方法次のコード例示します

' The LoadSiteMapData() Function loads site navigation
' data from persistent storage into a DataTable.

Dim siteMapData As DataTable
siteMapData = LoadSiteMapData()

' Create a SiteMapNodeCollection.
Dim nodes As New SiteMapNodeCollection()

' Create a SiteMapNode and add it to the collection.
Dim tempNode As SiteMapNode
Dim row As DataRow
Dim index As Integer
index = 0

While (index < siteMapData.Rows.Count)

    row = siteMapData.Rows(index)

    ' Create a node based on the data in the DataRow.
    tempNode = New SiteMapNode(SiteMap.Provider, row("Key").ToString(),
 row("Url").ToString())

    ' Add the node to the collection.
    nodes.Add(tempNode)
    index = index + 1
End While

// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();

// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();

// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;

while (index < siteMap.Rows.Count)
{

    row = siteMap.Rows[index];

    // Create a node based on the data in the DataRow.
    tempNode = new SiteMapNode(SiteMap.Provider,
                                row["Key"].ToString(),
                                row["Url"].ToString());

    // Add the node to the collection.
    nodes.Add(tempNode);
    ++index;
}

サイト マップ データコンマ区切り文字列保存されているテキスト ファイルSimpleTextSiteMapProvider による解析次のコード例示しますファイルか読み取られ各行について、新しSiteMapNode オブジェクトクラス内部追跡コレクション追加されます。

このコード例は、SiteMapProvider クラストピック取り上げているコード例一部分です。

  Protected Overridable Sub
 LoadSiteMapFromStore()
    Dim pathToOpen As String
    SyncLock Me
      ' If a root node exists, LoadSiteMapFromStore has already
      ' been called, and the method can return.
      If Not (aRootNode Is
 Nothing) Then
        Return
      Else
        pathToOpen = HttpContext.Current.Server.MapPath("~"
 & "\\" & sourceFilename)
        If File.Exists(pathToOpen) Then
          ' Open the file to read from.
          Dim sr As StreamReader = File.OpenText(pathToOpen)
          Try

            ' Clear the state of the collections and aRootNode
            aRootNode = Nothing
            siteMapNodes.Clear()
            childParentRelationship.Clear()

            ' Parse the file and build the site map
            Dim s As String
 = ""
            Dim nodeValues As String()
 = Nothing
            Dim temp As SiteMapNode = Nothing

            Do
              s = sr.ReadLine()

              If Not s Is
 Nothing Then
                ' Build the various SiteMapNode objects and add
                ' them to the ArrayList collections. The format used
                ' is: URL,TITLE,DESCRIPTION,PARENTURL
                nodeValues = s.Split(","c)

                temp = New SiteMapNode(Me,
 _
                    HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(0), _
                    HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(0), _
                    nodeValues(1), _
                    nodeValues(2))

                ' Is this a root node yet?
                If aRootNode Is Nothing
 AndAlso _
                  (nodeValues(3) Is Nothing
 OrElse _
                   nodeValues(3) = String.Empty) Then
                  aRootNode = temp

                  ' If not the root node, add the node to the various
 collections.
                Else

                  siteMapNodes.Add(New DictionaryEntry(temp.Url,
 temp))

                  ' The parent node has already been added to the collection.
                  Dim parentNode As SiteMapNode
 = _
                      FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(3))

                  If Not (parentNode Is
 Nothing) Then
                    childParentRelationship.Add(New DictionaryEntry(temp.Url,
 parentNode))
                  Else
                    Throw New Exception("Parent
 node not found for current node.")
                  End If
                End If
              End If
            Loop Until s Is
 Nothing
          Finally
            sr.Close()
          End Try
        Else
          Throw New Exception("File
 not found")
        End If
      End If
    End SyncLock
    Return
  End Sub 'LoadSiteMapFromStore
End Class 'SimpleTextSiteMapProvider
protected virtual void LoadSiteMapFromStore()
{
  string pathToOpen;

  lock (this)
  {
    // If a root node exists, LoadSiteMapFromStore has already
    // been called, and the method can return.
    if (rootNode != null)
    {
      return;
    }
    else
    {
      pathToOpen = HttpContext.Current.Server.MapPath("~" + "\\"
 + sourceFilename);

      if (File.Exists(pathToOpen))
      {
        // Open the file to read from.
        using (StreamReader sr = File.OpenText(pathToOpen))
        {

          // Clear the state of the collections and rootNode
          rootNode = null;
          siteMapNodes.Clear();
          childParentRelationship.Clear();

          // Parse the file and build the site map
          string s = "";
          string[] nodeValues = null;
          SiteMapNode temp = null;

          while ((s = sr.ReadLine()) != null)
          {

            // Build the various SiteMapNode objects and add
            // them to the ArrayList collections. The format used
            // is: URL,TITLE,DESCRIPTION,PARENTURL

            nodeValues = s.Split(',');

            temp = new SiteMapNode(this,
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0]
,
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0]
,
                nodeValues[1],
                nodeValues[2]);

            // Is this a root node yet?
            if (null == rootNode &&
                (null == nodeValues[3] || nodeValues[3] == String.Empty))
            {
              rootNode = temp;
            }

          // If not the root node, add the node to the various collections.
            else
            {
              siteMapNodes.Add(new DictionaryEntry(temp.Url, temp));
              // The parent node has already been added to the collection.
              SiteMapNode parentNode =
                       FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath + "/"
 + nodeValues[3]);
              if (parentNode != null)
              {
                childParentRelationship.Add(new DictionaryEntry(temp.Url,
 parentNode));
              }
              else
              {
                throw new Exception("Parent node not found
 for current node.");
              }
            }
          }
        }
      }
      else
      {
        throw new Exception("File not found");
      }
    }
  }
  return;
}
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.SiteMapNode
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SiteMapNode コンストラクタ (SiteMapProvider, String, String, String, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す keyタイトル説明、およびノード管理するサイト マップ プロバイダ使用して初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

例外例外
例外種類条件

ArgumentNullException

SiteMapProvidernull 参照 (Visual Basic では Nothing) です。

または

keynull 参照 (Visual Basic では Nothing) です。

解説解説

ASP.NET既定実装する SiteMapProvider プロバイダである XmlSiteMapProvider クラスは、SiteMapNode.Url プロパティノードに対して指定されている場合、それをルックアップ キーとして使用します (URL指定されない場合は、ノード追跡 ID生成されます)。したがってURL提供しXmlSiteMapProvider によって使用されるすべての SiteMapNode オブジェクトには、プロバイダスコープ内で重複しない URL割り当てられている必要があります

title または description の提供がない場合Title プロパティまたは Description プロパティ呼び出すと String.Empty フィールド返されます。

使用例使用例

SiteMapNode コンストラクタ使用し簡単なテキスト ファイルからのデータ解析して SiteMapNode オブジェクト作成しサイト マップメモリ内に構築する方法次のコード例示します

このコード例は、SiteMapProvider 抽象クラストピック取り上げているコード例一部分です。

  Protected Overridable Sub
 LoadSiteMapFromStore()
    Dim pathToOpen As String
    SyncLock Me
      ' If a root node exists, LoadSiteMapFromStore has already
      ' been called, and the method can return.
      If Not (aRootNode Is
 Nothing) Then
        Return
      Else
        pathToOpen = HttpContext.Current.Server.MapPath("~"
 & "\\" & sourceFilename)
        If File.Exists(pathToOpen) Then
          ' Open the file to read from.
          Dim sr As StreamReader = File.OpenText(pathToOpen)
          Try

            ' Clear the state of the collections and aRootNode
            aRootNode = Nothing
            siteMapNodes.Clear()
            childParentRelationship.Clear()

            ' Parse the file and build the site map
            Dim s As String
 = ""
            Dim nodeValues As String()
 = Nothing
            Dim temp As SiteMapNode = Nothing

            Do
              s = sr.ReadLine()

              If Not s Is
 Nothing Then
                ' Build the various SiteMapNode objects and add
                ' them to the ArrayList collections. The format used
                ' is: URL,TITLE,DESCRIPTION,PARENTURL
                nodeValues = s.Split(","c)

                temp = New SiteMapNode(Me,
 _
                    HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(0), _
                    HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(0), _
                    nodeValues(1), _
                    nodeValues(2))

                ' Is this a root node yet?
                If aRootNode Is Nothing
 AndAlso _
                  (nodeValues(3) Is Nothing
 OrElse _
                   nodeValues(3) = String.Empty) Then
                  aRootNode = temp

                  ' If not the root node, add the node to the various
 collections.
                Else

                  siteMapNodes.Add(New DictionaryEntry(temp.Url,
 temp))

                  ' The parent node has already been added to the collection.
                  Dim parentNode As SiteMapNode
 = _
                      FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath & "/"
 & nodeValues(3))

                  If Not (parentNode Is
 Nothing) Then
                    childParentRelationship.Add(New DictionaryEntry(temp.Url,
 parentNode))
                  Else
                    Throw New Exception("Parent
 node not found for current node.")
                  End If
                End If
              End If
            Loop Until s Is
 Nothing
          Finally
            sr.Close()
          End Try
        Else
          Throw New Exception("File
 not found")
        End If
      End If
    End SyncLock
    Return
  End Sub 'LoadSiteMapFromStore
End Class 'SimpleTextSiteMapProvider
protected virtual void LoadSiteMapFromStore()
{
  string pathToOpen;

  lock (this)
  {
    // If a root node exists, LoadSiteMapFromStore has already
    // been called, and the method can return.
    if (rootNode != null)
    {
      return;
    }
    else
    {
      pathToOpen = HttpContext.Current.Server.MapPath("~" + "\\"
 + sourceFilename);

      if (File.Exists(pathToOpen))
      {
        // Open the file to read from.
        using (StreamReader sr = File.OpenText(pathToOpen))
        {

          // Clear the state of the collections and rootNode
          rootNode = null;
          siteMapNodes.Clear();
          childParentRelationship.Clear();

          // Parse the file and build the site map
          string s = "";
          string[] nodeValues = null;
          SiteMapNode temp = null;

          while ((s = sr.ReadLine()) != null)
          {

            // Build the various SiteMapNode objects and add
            // them to the ArrayList collections. The format used
            // is: URL,TITLE,DESCRIPTION,PARENTURL

            nodeValues = s.Split(',');

            temp = new SiteMapNode(this,
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0]
,
                HttpRuntime.AppDomainAppVirtualPath + "/" + nodeValues[0]
,
                nodeValues[1],
                nodeValues[2]);

            // Is this a root node yet?
            if (null == rootNode &&
                (null == nodeValues[3] || nodeValues[3] == String.Empty))
            {
              rootNode = temp;
            }

          // If not the root node, add the node to the various collections.
            else
            {
              siteMapNodes.Add(new DictionaryEntry(temp.Url, temp));
              // The parent node has already been added to the collection.
              SiteMapNode parentNode =
                       FindSiteMapNode(HttpRuntime.AppDomainAppVirtualPath + "/"
 + nodeValues[3]);
              if (parentNode != null)
              {
                childParentRelationship.Add(new DictionaryEntry(temp.Url,
 parentNode));
              }
              else
              {
                throw new Exception("Parent node not found
 for current node.");
              }
            }
          }
        }
      }
      else
      {
        throw new Exception("File not found");
      }
    }
  }
  return;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SiteMapNode クラス
SiteMapNode メンバ
System.Web 名前空間
SiteMapProvider

SiteMapNode コンストラクタ (SiteMapProvider, String, String, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す keyタイトル、およびノード管理するサイト マップ プロバイダ使用して初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

例外例外
例外種類条件

ArgumentNullException

SiteMapProvidernull 参照 (Visual Basic では Nothing) です。

または

keynull 参照 (Visual Basic では Nothing) です。

解説解説

ASP.NET既定実装する SiteMapProvider プロバイダである XmlSiteMapProvider クラスは、SiteMapNode.Url プロパティノードに対して指定されている場合、それをルックアップ キーとして使用します (URL指定されない場合は、ノード追跡 ID生成されます)。したがってURL提供しXmlSiteMapProvider によって使用されるすべての SiteMapNode オブジェクトには、プロバイダスコープ内で重複しない URL割り当てられている必要があります

title の提供がない場合Title プロパティ呼び出すと String.Empty フィールド返されます。

使用例使用例

SiteMapNode コンストラクタ使用して SiteMapNode クラス新しインスタンス作成する方法次のコード例示しますノードは、Microsoft Access データベース行から取得した値で初期化されます

次のコード例は BuildSiteMap メソッド例の一部です。

Dim rootNodeCommand As New
 OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid
 IS NULL", accessConnection)
Dim rootNodeReader As OleDbDataReader = rootNodeCommand.ExecuteReader()

If rootNodeReader.HasRows Then
    rootNodeReader.Read()
    rootNodeId = rootNodeReader.GetInt32(0)
    ' Create a SiteMapNode that references the current StaticSiteMapProvider.
    aRootNode = New SiteMapNode(Me, rootNodeId.ToString(),
 rootNodeReader.GetString(1), rootNodeReader.GetString(2))
Else
    Return Nothing
End If
rootNodeReader.Close()
OleDbCommand rootNodeCommand =
    new OleDbCommand("SELECT nodeid, url, name FROM SiteMap
 WHERE parentnodeid IS NULL",
                     accessConnection);
OleDbDataReader rootNodeReader = rootNodeCommand.ExecuteReader();

if(rootNodeReader.HasRows) {
    rootNodeReader.Read();
    rootNodeId = rootNodeReader.GetInt32(0);
    // Create a SiteMapNode that references the current StaticSiteMapProvider.
    rootNode   = new SiteMapNode(this,
                                 rootNodeId.ToString(),
                                 rootNodeReader.GetString(1),
                                 rootNodeReader.GetString(2));

}
else return null;

rootNodeReader.Close();
OleDbCommand^ rootNodeCommand = gcnew OleDbCommand
   ("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL",
 accessConnection);
OleDbDataReader^ rootNodeReader = rootNodeCommand->ExecuteReader();
if ( rootNodeReader->HasRows )
{
   rootNodeReader->Read();
   rootNodeId = rootNodeReader->GetInt32( 0 );
   
   // Create a SiteMapNode that references the current StaticSiteMapProvider.
   rootNode = gcnew SiteMapNode(this, rootNodeId.ToString(), 
      rootNodeReader->GetString( 1 ),rootNodeReader->GetString( 2 ));
}
else
   return nullptr;
rootNodeReader->Close();

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SiteMapNode コンストラクタ (SiteMapProvider, String, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す key、およびノード管理するサイト マップ プロバイダ使用して初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    provider As SiteMapProvider, _
    key As String, _
    url As String _
)
Dim provider As SiteMapProvider
Dim key As String
Dim url As String

Dim instance As New SiteMapNode(provider,
 key, url)
public SiteMapNode (
    SiteMapProvider provider,
    string key,
    string url
)
public:
SiteMapNode (
    SiteMapProvider^ provider, 
    String^ key, 
    String^ url
)
public SiteMapNode (
    SiteMapProvider provider, 
    String key, 
    String url
)
public function SiteMapNode (
    provider : SiteMapProvider, 
    key : String, 
    url : String
)

パラメータ

provider

ノード関連付ける SiteMapProvider。

key

プロバイダ固有のルックアップ キー

url

サイト内のノードが表すページURL

例外例外
例外種類条件

ArgumentNullException

SiteMapProvidernull 参照 (Visual Basic では Nothing) です。

または

keynull 参照 (Visual Basic では Nothing) です。

解説解説

ASP.NET既定実装する SiteMapProvider プロバイダである XmlSiteMapProvider クラスは、SiteMapNode.Url プロパティノードに対して指定されている場合、それをルックアップ キーとして使用します (URL指定されない場合は、ノード追跡 ID生成されます)。したがってURL提供しXmlSiteMapProvider によって使用されるすべての SiteMapNode オブジェクトには、プロバイダスコープ内で重複しない URL割り当てられている必要があります

使用例使用例

SiteMapNodeCollection コンストラクタ使用して新しい SiteMapNodeCollection コレクション作成しAdd メソッド使用してそれに要素追加する方法次のコード例示します

' The LoadSiteMapData() Function loads site navigation
' data from persistent storage into a DataTable.

Dim siteMapData As DataTable
siteMapData = LoadSiteMapData()

' Create a SiteMapNodeCollection.
Dim nodes As New SiteMapNodeCollection()

' Create a SiteMapNode and add it to the collection.
Dim tempNode As SiteMapNode
Dim row As DataRow
Dim index As Integer
index = 0

While (index < siteMapData.Rows.Count)

    row = siteMapData.Rows(index)

    ' Create a node based on the data in the DataRow.
    tempNode = New SiteMapNode(SiteMap.Provider, row("Key").ToString(),
 row("Url").ToString())

    ' Add the node to the collection.
    nodes.Add(tempNode)
    index = index + 1
End While

// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();

// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();

// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;

while (index < siteMap.Rows.Count)
{

    row = siteMap.Rows[index];

    // Create a node based on the data in the DataRow.
    tempNode = new SiteMapNode(SiteMap.Provider,
                                row["Key"].ToString(),
                                row["Url"].ToString());

    // Add the node to the collection.
    nodes.Add(tempNode);
    ++index;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SiteMapNode コンストラクタ (SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SiteMapNode クラス新しインスタンスを、ノード管理する指定されサイト マップ プロバイダURLタイトル説明ロール追加属性、およびローカライズ使用する明示的なリソース キー暗黙リソース キー使用して初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    provider As SiteMapProvider, _
    key As String, _
    url As String, _
    title As String, _
    description As String, _
    roles As IList, _
    attributes As NameValueCollection, _
    explicitResourceKeys As NameValueCollection, _
    implicitResourceKey As String _
)
Dim provider As SiteMapProvider
Dim key As String
Dim url As String
Dim title As String
Dim description As String
Dim roles As IList
Dim attributes As NameValueCollection
Dim explicitResourceKeys As NameValueCollection
Dim implicitResourceKey As String

Dim instance As New SiteMapNode(provider,
 key, url, title, description, roles, attributes, explicitResourceKeys, implicitResourceKey)
public SiteMapNode (
    SiteMapProvider provider,
    string key,
    string url,
    string title,
    string description,
    IList roles,
    NameValueCollection attributes,
    NameValueCollection explicitResourceKeys,
    string implicitResourceKey
)
public:
SiteMapNode (
    SiteMapProvider^ provider, 
    String^ key, 
    String^ url, 
    String^ title, 
    String^ description, 
    IList^ roles, 
    NameValueCollection^ attributes, 
    NameValueCollection^ explicitResourceKeys, 
    String^ implicitResourceKey
)
public SiteMapNode (
    SiteMapProvider provider, 
    String key, 
    String url, 
    String title, 
    String description, 
    IList roles, 
    NameValueCollection attributes, 
    NameValueCollection explicitResourceKeys, 
    String implicitResourceKey
)
public function SiteMapNode (
    provider : SiteMapProvider, 
    key : String, 
    url : String, 
    title : String, 
    description : String, 
    roles : IList, 
    attributes : NameValueCollection, 
    explicitResourceKeys : NameValueCollection, 
    implicitResourceKey : String
)

パラメータ

provider

ノード関連付ける SiteMapProvider。

key

プロバイダ固有のルックアップ キー

url

サイト内のノードが表すページURL

title

ナビゲーション コントロールによる表示などに使用されるノードラベル

description

ノードが表すページ説明

roles

SiteMapNode で表されるページ表示できるロールの IList。

attributes

SiteMapNode初期化使用する追加属性の NameValueCollection。

explicitResourceKeys

ローカリゼーション使用する明示的なリソース キーNameValueCollection

implicitResourceKey

ローカリゼーション使用する暗黙リソース キー

例外例外
例外種類条件

ArgumentNullException

SiteMapProvidernull 参照 (Visual Basic では Nothing) です。

または

keynull 参照 (Visual Basic では Nothing) です。

解説解説

ASP.NET既定実装する SiteMapProvider プロバイダである XmlSiteMapProvider クラスは、SiteMapNode.Url プロパティノードに対して指定されている場合、それをルックアップ キーとして使用します (URL指定されない場合は、ノード追跡 ID生成されます)。したがってURL提供しXmlSiteMapProvider によって使用されるすべての SiteMapNode オブジェクトには、プロバイダスコープ内で重複しない URL割り当てられている必要があります

SiteMapNode作成使用する属性NameValueCollection コレクションは、Attributes プロパティを介して使用できます。この場合追加属性サイト マップ ノード簡単に適用でき、派生カスタム クラス作成しなくても機能拡張できます

SecurityTrimmingEnabled プロパティtrue返した場合ロールIList コレクション提供してノード表示できるロールセット提供します詳細については、「SecurityTrimmingEnabled」を参照してください

XmlSiteMapProvider プロバイダSiteMapNode.Url プロパティルックアップ キーとして使用します。したがってXmlSiteMapProvider によって使用されるすべての SiteMapNode には、プロバイダスコープ内で重複しない URL割り当てられている必要があります

title または description の提供がない場合Title プロパティまたは Description プロパティ呼び出すと String.Empty フィールド返されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SiteMapNode クラス
SiteMapNode メンバ
System.Web 名前空間
SecurityTrimmingEnabled
IsAccessibleToUser

SiteMapNode コンストラクタ

SiteMapNode クラス新しインスタンス初期化し、それを指定した SiteMapProvider オブジェクト関連付けます。
オーバーロードの一覧オーバーロードの一覧

名前 説明
SiteMapNode (SiteMapProvider, String) SiteMapNode クラス新しインスタンスを、ノードが表すページを示す指定した keyノード管理するサイト マップ プロバイダ使用して初期化します。
SiteMapNode (SiteMapProvider, String, String) SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す key、およびノード管理するサイト マップ プロバイダ使用して初期化します。
SiteMapNode (SiteMapProvider, String, String, String) SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す keyタイトル、およびノード管理するサイト マップ プロバイダ使用して初期化します。
SiteMapNode (SiteMapProvider, String, String, String, String) SiteMapNode クラス新しインスタンスを、指定した URLノードが表すページを示す keyタイトル説明、およびノード管理するサイト マップ プロバイダ使用して初期化します。
SiteMapNode (SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String) SiteMapNode クラス新しインスタンスを、ノード管理する指定されサイト マップ プロバイダURLタイトル説明ロール追加属性、およびローカライズ使用する明示的なリソース キー暗黙リソース キー使用して初期化します。
参照参照

関連項目

SiteMapNode クラス
SiteMapNode メンバ
System.Web 名前空間

SiteMapNode コンストラクタ (SiteMapProvider, String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SiteMapNode クラス新しインスタンスを、ノードが表すページを示す指定した keyノード管理するサイト マップ プロバイダ使用して初期化します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    provider As SiteMapProvider, _
    key As String _
)
Dim provider As SiteMapProvider
Dim key As String

Dim instance As New SiteMapNode(provider,
 key)
public SiteMapNode (
    SiteMapProvider provider,
    string key
)
public:
SiteMapNode (
    SiteMapProvider^ provider, 
    String^ key
)
public SiteMapNode (
    SiteMapProvider provider, 
    String key
)
public function SiteMapNode (
    provider : SiteMapProvider, 
    key : String
)

パラメータ

provider

ノード関連付ける SiteMapProvider。

key

プロバイダ固有のルックアップ キー

例外例外
例外種類条件

ArgumentNullException

SiteMapProvidernull 参照 (Visual Basic では Nothing) です。

または

keynull 参照 (Visual Basic では Nothing) です。

解説解説

ASP.NET既定実装する SiteMapProvider プロバイダである XmlSiteMapProvider クラスは、SiteMapNode.Url プロパティノードに対して指定されている場合、それをルックアップ キーとして使用します (URL指定されない場合は、ノード追跡 ID生成されます)。したがってURL提供しXmlSiteMapProvider によって使用されるすべての SiteMapNode コントロールには、プロバイダスコープ内で重複しない URL割り当てられている必要があります

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

SiteMapNode プロパティ


パブリック プロパティパブリック プロパティ

( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ ChildNodes 関連付けられている SiteMapProvider プロバイダ対し現在の SiteMapNode オブジェクトすべての子ノード取得または設定します
パブリック プロパティ Description SiteMapNode説明取得または設定します
パブリック プロパティ HasChildNodes 現在の SiteMapNode子ノードがあるかどうかを示す値を取得します
パブリック プロパティ Item Attributes コレクションカスタム属性、またはリソース文字列を、指定したキー基づいて取得または設定します
パブリック プロパティ Key サイト マップ ノードルックアップ キーを表す文字列を取得します
パブリック プロパティ NextSibling 現在のノードと同じ階層レベルにおける次の SiteMapNode ノード取得します。これは、ParentNode プロパティ存在する場合は、それに相対するものです。
パブリック プロパティ ParentNode 現在のノードの親である SiteMapNode オブジェクト取得または設定します
パブリック プロパティ PreviousSibling 現在のノードと同じレベルにおける前の SiteMapNode オブジェクト取得します。これは、ParentNode オブジェクト存在する場合は、それに相対するものです。
パブリック プロパティ Provider SiteMapNode オブジェクト追跡する SiteMapProvider プロバイダ取得します
パブリック プロパティ ReadOnly サイト マップ ノード変更できるかどうかを示す値を取得または設定します
パブリック プロパティ ResourceKey SiteMapNodeローカライズ使用するリソース キー取得または設定します
パブリック プロパティ Roles セキュリティ トリミング使用されるSiteMapNode オブジェクト関連付けられているロールコレクション取得または設定します
パブリック プロパティ RootNode サイト マップ プロバイダ階層ルート プロバイダルート ノード取得しますプロバイダ階層存在しない場合、RootNode プロパティ現在のプロバイダルート ノード取得します
パブリック プロパティ Title SiteMapNode オブジェクトタイトル取得または設定します
パブリック プロパティ Url SiteMapNode オブジェクトが表すページURL取得または設定します
プロテクト プロパティプロテクト プロパティ
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.HasChildren 現在の SiteMapNode オブジェクト子ノードがあるかどうかを示す値を取得します。このメンバ説明については、IHierarchyData.HasChildren のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Item 階層データ項目を取得します。このメンバ説明については、IHierarchyData.Item のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Path 階層データ項目のパス取得します。このメンバ説明については、IHierarchyData.Path のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Type 階層データ項目の型名を表す文字列を取得します。このメンバ説明については、IHierarchyData.Type のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Description サイト マップ ノードDescription プロパティ取得します。このメンバ説明については、INavigateUIData.Description のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Name サイト マップ ノードTitle プロパティ取得します。このメンバ説明については、INavigateUIData.Name のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.NavigateUrl サイト マップ ノードUrl プロパティ取得します。このメンバ説明については、INavigateUIData.NavigateUrl のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Value サイト マップ ノードTitle プロパティ取得します。このメンバ説明については、INavigateUIData.Value のトピック参照してください
参照参照

関連項目

SiteMapNode クラス
System.Web 名前空間
SiteMap クラス
SiteMapProvider
XmlSiteMapProvider

その他の技術情報

ASP.NET サイト ナビゲーション概要
ASP.NET サイト マップ

SiteMapNode メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Clone オーバーロードされます現在のノードコピーである新しノード作成します
パブリック メソッド Equals オーバーロードされますオーバーライドされます2 つオブジェクト等しかどうか判断します
パブリック メソッド GetAllNodes 呼び出しノードの子孫であるすべての SiteMapNode オブジェクト読み取り専用コレクション取得しますその際呼び出しノードとの関係の遠近による制限はありません。
パブリック メソッド GetDataSourceView 現在のノード関連付けられている SiteMapDataSourceView オブジェクト取得します
パブリック メソッド GetHashCode オーバーライドされますSiteMapNode オブジェクトハッシュ コード返します
パブリック メソッド GetHierarchicalDataSourceView 現在のノード関連付けられている SiteMapHierarchicalDataSourceView オブジェクト取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド IsAccessibleToUser 指定したサイト マップ ノード指定したコンテキストユーザー表示できるかどうかを示す値を取得します
パブリック メソッド IsDescendantOf 現在のサイト マップ ノード指定したノードの子または直接の子孫であるかどうかを示す値を取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString オーバーライドされますSiteMapNode クラスインスタンスの値を、それと等価文字列形式変換します
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.ICloneable.Clone 現在のノードコピーである新しノード作成します。このメンバ説明については、ICloneable.Clone のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.GetChildren 階層における現在の目の子データ項目を取得します。このメンバ説明については、IHierarchyData.GetChildren のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.GetParent 階層における現在の項目の親を取得します。このメンバ説明については、IHierarchyData.GetParent のトピック参照してください
参照参照

関連項目

SiteMapNode クラス
System.Web 名前空間
SiteMap クラス
SiteMapProvider
XmlSiteMapProvider

その他の技術情報

ASP.NET サイト ナビゲーション概要
ASP.NET サイト マップ

SiteMapNode メンバ

SiteMap クラスと SiteMapProvider 抽象クラス実装するクラスとで記述される階層サイト マップ構造存在するノード表します

SiteMapNode データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
( プロテクト プロパティ参照)
  名前 説明
パブリック プロパティ ChildNodes 関連付けられている SiteMapProvider プロバイダ対し現在の SiteMapNode オブジェクトすべての子ノード取得または設定します
パブリック プロパティ Description SiteMapNode説明取得または設定します
パブリック プロパティ HasChildNodes 現在の SiteMapNode子ノードがあるかどうかを示す値を取得します
パブリック プロパティ Item Attributes コレクションカスタム属性、またはリソース文字列を、指定したキー基づいて取得または設定します
パブリック プロパティ Key サイト マップ ノードルックアップ キーを表す文字列を取得します
パブリック プロパティ NextSibling 現在のノードと同じ階層レベルにおける次の SiteMapNode ノード取得します。これは、ParentNode プロパティ存在する場合は、それに相対するものです。
パブリック プロパティ ParentNode 現在のノードの親である SiteMapNode オブジェクト取得または設定します
パブリック プロパティ PreviousSibling 現在のノードと同じレベルにおける前の SiteMapNode オブジェクト取得します。これは、ParentNode オブジェクト存在する場合は、それに相対するものです。
パブリック プロパティ Provider SiteMapNode オブジェクト追跡する SiteMapProvider プロバイダ取得します
パブリック プロパティ ReadOnly サイト マップ ノード変更できるかどうかを示す値を取得または設定します
パブリック プロパティ ResourceKey SiteMapNodeローカライズ使用するリソース キー取得または設定します
パブリック プロパティ Roles セキュリティ トリミング使用されるSiteMapNode オブジェクト関連付けられているロールコレクション取得または設定します
パブリック プロパティ RootNode サイト マップ プロバイダ階層ルート プロバイダルート ノード取得しますプロバイダ階層存在しない場合、RootNode プロパティ現在のプロバイダルート ノード取得します
パブリック プロパティ Title SiteMapNode オブジェクトタイトル取得または設定します
パブリック プロパティ Url SiteMapNode オブジェクトが表すページURL取得または設定します
プロテクト プロパティプロテクト プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Clone オーバーロードされます現在のノードコピーである新しノード作成します
パブリック メソッド Equals オーバーロードされますオーバーライドされます2 つオブジェクト等しかどうか判断します
パブリック メソッド GetAllNodes 呼び出しノードの子孫であるすべての SiteMapNode オブジェクト読み取り専用コレクション取得しますその際呼び出しノードとの関係の遠近による制限はありません。
パブリック メソッド GetDataSourceView 現在のノード関連付けられている SiteMapDataSourceView オブジェクト取得します
パブリック メソッド GetHashCode オーバーライドされますSiteMapNode オブジェクトハッシュ コード返します
パブリック メソッド GetHierarchicalDataSourceView 現在のノード関連付けられている SiteMapHierarchicalDataSourceView オブジェクト取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド IsAccessibleToUser 指定したサイト マップ ノード指定したコンテキストユーザー表示できるかどうかを示す値を取得します
パブリック メソッド IsDescendantOf 現在のサイト マップ ノード指定したノードの子または直接の子孫であるかどうかを示す値を取得します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString オーバーライドされますSiteMapNode クラスインスタンスの値を、それと等価文字列形式変換します
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.ICloneable.Clone 現在のノードコピーである新しノード作成します。このメンバ説明については、ICloneable.Clone のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.GetChildren 階層における現在の目の子データ項目を取得します。このメンバ説明については、IHierarchyData.GetChildren のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.GetParent 階層における現在の項目の親を取得します。このメンバ説明については、IHierarchyData.GetParent のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.HasChildren 現在の SiteMapNode オブジェクト子ノードがあるかどうかを示す値を取得します。このメンバ説明については、IHierarchyData.HasChildren のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Item 階層データ項目を取得します。このメンバ説明については、IHierarchyData.Item のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Path 階層データ項目のパス取得します。このメンバ説明については、IHierarchyData.Path のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.IHierarchyData.Type 階層データ項目の型名を表す文字列を取得します。このメンバ説明については、IHierarchyData.Type のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Description サイト マップ ノードDescription プロパティ取得します。このメンバ説明については、INavigateUIData.Description のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Name サイト マップ ノードTitle プロパティ取得します。このメンバ説明については、INavigateUIData.Name のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.NavigateUrl サイト マップ ノードUrl プロパティ取得します。このメンバ説明については、INavigateUIData.NavigateUrl のトピック参照してください
インターフェイスの明示的な実装 System.Web.UI.INavigateUIData.Value サイト マップ ノードTitle プロパティ取得します。このメンバ説明については、INavigateUIData.Value のトピック参照してください
参照参照

関連項目

SiteMapNode クラス
System.Web 名前空間
SiteMap クラス
SiteMapProvider
XmlSiteMapProvider

その他の技術情報

ASP.NET サイト ナビゲーション概要
ASP.NET サイト マップ


このページでは「.NET Framework クラス ライブラリ リファレンス」からSiteMapNodeを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSiteMapNodeを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSiteMapNode を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SiteMapNode」の関連用語

SiteMapNodeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SiteMapNodeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS