이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

SiteMapNode 클래스

 

게시 날짜: 2016년 11월

추상 SiteMapProvider 클래스를 구현하는 SiteMap 클래스에서 설명하는 것과 같은 계층적 사이트 맵 구조의 노드를 나타냅니다.

네임스페이스:   System.Web
어셈블리:  System.Web(System.Web.dll에 있음)

System.Object
  System.Web.SiteMapNode

public class SiteMapNode : ICloneable, IHierarchyData, INavigateUIData

이름설명
System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String)

새 인스턴스를 초기화는 SiteMapNode 클래스를 사용 하 여 key 노드에서 나타내는 페이지와 노드를 관리 하는 사이트 맵 공급자를 식별 하 합니다.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String)

새 인스턴스를 초기화는 SiteMapNode 지정된 된 URL을 사용 하 여 클래스는 key 노드에서 나타내는 페이지와 노드를 관리 하는 사이트 맵 공급자를 식별 하 합니다.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String)

새 인스턴스를 초기화는 SiteMapNode 지정된 된 URL을 사용 하 여 클래스는 key 노드에서 나타내는 페이지, 제목 및 노드를 관리 하는 사이트 맵 공급자를 식별 하 합니다.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String, String)

새 인스턴스를 초기화는 SiteMapNode 지정된 된 URL을 사용 하 여 클래스는 key 노드에서 나타내는 페이지, 제목 및 설명, 노드를 관리 하는 사이트 맵 공급자를 식별 하 합니다.

System_CAPS_pubmethodSiteMapNode(SiteMapProvider, String, String, String, String, IList, NameValueCollection, NameValueCollection, String)

새 인스턴스를 초기화는 SiteMapNode 노드, URL, 제목, 설명, 역할, 추가 특성 및 지역화에 대 한 명시적 및 암시적 리소스 키를 관리 하는 지정 된 사이트 맵 공급자를 사용 하 여 클래스입니다.

이름설명
System_CAPS_protpropertyAttributes

에 대해 정의 된 강력한 형식의 속성 이외에 추가 특성의 컬렉션을 가져오거나 설정 합니다.는 SiteMapNode 클래스입니다.

System_CAPS_pubpropertyChildNodes

현재 노드의 모든 자식 가져오거나 SiteMapNode 개체에서 연결 된 SiteMapProvider 공급자입니다.

System_CAPS_pubpropertyDescription

에 대 한 설명을 가져오거나 설정 합니다.는 SiteMapNode합니다.

System_CAPS_pubpropertyHasChildNodes

나타내는 값을 가져옵니다 여부 현재 SiteMapNode 에 자식 노드가 있습니다.

System_CAPS_pubpropertyItem[String]

사용자 지정 특성을 가져오거나 설정 합니다.는 Attributes 지정된 된 키를 기반으로 컬렉션 또는 리소스 문자열입니다.

System_CAPS_pubpropertyKey

사이트 맵 노드에 대 한 조회 키를 나타내는 문자열을 가져옵니다.

System_CAPS_pubpropertyNextSibling

다음 가져옵니다 SiteMapNode 기준으로 현재 열거자와 동일한 계층 수준에는 노드는 ParentNode 속성 (있는 경우).

System_CAPS_pubpropertyParentNode

가져오거나는 SiteMapNode 개체는 현재 노드의 부모입니다.

System_CAPS_pubpropertyPreviousSibling

이전 가져옵니다 SiteMapNode 기준으로 현재 열거자와 동일한 수준의 개체는 ParentNode 개체 (있는 경우).

System_CAPS_pubpropertyProvider

가져옵니다는 SiteMapProvider 공급자는는 SiteMapNode 개체가 추적 합니다.

System_CAPS_pubpropertyReadOnly

사이트 맵 노드가 수정할 수 있는지 여부를 나타내는 값을 가져오거나 설정 합니다.

System_CAPS_pubpropertyResourceKey

지역화 하는 데 사용 되는 리소스 키를 가져오거나 설정 합니다.는 SiteMapNode합니다.

System_CAPS_pubpropertyRoles

보안 조정 동안 사용되는 SiteMapNode 개체와 연결된 역할의 컬렉션을 가져오거나 설정합니다.

System_CAPS_pubpropertyRootNode

사이트 맵 공급자 계층 구조에서 루트 공급자의 루트 노드를 가져옵니다. 공급자 계층 구조가 있는 경우는 RootNode 속성이 현재 공급자의 루트 노드를 가져옵니다.

System_CAPS_pubpropertyTitle

제목을 가져오거나 설정 합니다.는 SiteMapNode 개체입니다.

System_CAPS_pubpropertyUrl

페이지의 URL을 가져오거나는 SiteMapNode 개체가 나타내는 합니다.

이름설명
System_CAPS_pubmethodClone()

현재 노드의 복사본 인 새 노드를 만듭니다.

System_CAPS_pubmethodClone(Boolean)

필요에 따라 현재 노드의 모든 부모 및 상위 노드를 복제 하는 현재 노드의 복사본 인 새 복사본을 만듭니다.

System_CAPS_pubmethodEquals(Object)

나타내는 값을 가져옵니다 여부 현재 SiteMapNode 지정된 된 개체와 동일 합니다.(Object.Equals(Object)을(를) 재정의함)

System_CAPS_protmethodFinalize()

가비지 컬렉션이 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다.(Object에서 상속됨)

System_CAPS_pubmethodGetAllNodes()

모든 읽기 전용 컬렉션을 검색 SiteMapNode 개체 분리 정도 관계 없이 호출 노드의 하위 항목입니다.

System_CAPS_pubmethodGetDataSourceView(SiteMapDataSource, String)

검색 된 SiteMapDataSourceView 현재 노드와 연결 된 개체입니다.

System_CAPS_protmethodGetExplicitResourceString(String, String, Boolean)

에 따라 지역화 된 문자열을 검색 한 SiteMapNode 리소스가 발견 되 면 반환 하는 기본 문자열을 지역화 하는 특성 및 리소스가 없는 경우 예외를 throw 할지 여부를 나타내는 부울 값입니다.

System_CAPS_pubmethodGetHashCode()

해시 코드를 반환 하는 SiteMapNode 개체입니다.(Object.GetHashCode()을(를) 재정의함)

System_CAPS_pubmethodGetHierarchicalDataSourceView()

검색 된 SiteMapHierarchicalDataSourceView 현재 노드와 연결 된 개체입니다.

System_CAPS_protmethodGetImplicitResourceString(String)

특성 이름을 기반으로 하는 지역화 된 문자열을 가져옵니다 및 ResourceKey 하 여 지정 된 속성에는 SiteMapProvider 기준이 SiteMapNode 추적 됩니다.

System_CAPS_pubmethodGetType()

현재 인스턴스의 Type을 가져옵니다.(Object에서 상속됨)

System_CAPS_pubmethodIsAccessibleToUser(HttpContext)

지정 된 컨텍스트에서 사용자 지정된 사이트 맵 노드가 볼 수 있는지 여부를 나타내는 값을 가져옵니다.

System_CAPS_pubmethodIsDescendantOf(SiteMapNode)

현재 사이트 맵 노드가 자식 또는 지정 된 노드의 직계 하위 항목 인지를 나타내는 값을 가져옵니다.

System_CAPS_protmethodMemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.(Object에서 상속됨)

System_CAPS_pubmethodToString()

이 인스턴스 값으로 변환 된 SiteMapNode 클래스를 해당 문자열 표현입니다.(Object.ToString()을(를) 재정의함)

이름설명
System_CAPS_pubinterfaceSystem_CAPS_privmethodICloneable.Clone()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. 현재 노드의 복사본 인 새 노드를 만듭니다. 이 멤버에 대한 설명은 ICloneable.Clone를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHierarchyData.GetChildren()

현재 항목의 계층적 자식 데이터 항목을 검색합니다. 이 멤버에 대한 설명은 IHierarchyData.GetChildren를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHierarchyData.GetParent()

현재 항목의 계층적 부모를 검색합니다. 이 멤버에 대한 설명은 IHierarchyData.GetParent를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.HasChildren

현재 SiteMapNode 개체에 자식 노드가 있는지를 나타내는 값을 가져옵니다. 이 멤버에 대한 설명은 IHierarchyData.HasChildren를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Item

계층적 데이터 항목을 가져옵니다. 이 멤버에 대한 설명은 IHierarchyData.Item를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Path

계층적 데이터 항목의 경로를 가져옵니다. 이 멤버에 대한 설명은 IHierarchyData.Path를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHierarchyData.Type

계층적 데이터 항목의 형식 이름을 나타내는 문자열을 가져옵니다. 이 멤버에 대한 설명은 IHierarchyData.Type를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Description

사이트 맵 노드의 Description 속성을 가져옵니다. 이 멤버에 대한 설명은 INavigateUIData.Description를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Name

사이트 맵 노드의 Title 속성을 가져옵니다. 이 멤버에 대한 설명은 INavigateUIData.Name를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.NavigateUrl

사이트 맵 노드의 Url 속성을 가져옵니다. 이 멤버에 대한 설명은 INavigateUIData.NavigateUrl를 참조하세요.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyINavigateUIData.Value

사이트 맵 노드의 Title 속성을 가져옵니다. 이 멤버에 대한 설명은 INavigateUIData.Value를 참조하세요.

A SiteMapNode 개체 사이트 맵 구조에서 웹 사이트 페이지를 나타냅니다. SiteMapNode 개체는 정적으로 로드 됩니다 SiteMap 런타임에 하나 이상의 사이트 맵 공급자를 사용 하 여 영구 저장소에서 메모리로 사이트 맵 데이터를 로드 하는 클래스입니다. SiteMapNode 개체를 래핑합니다는 SiteMapNodeItem 와 같은 웹 서버 컨트롤에서 사용 하기 위해 클래스는 SiteMapPath 제어 합니다.

SiteMapNode 와 같은 페이지에서 설명 하는 속성을 포함 하는 웹 사이트의 단일 페이지에 설명 하는 데 사용 되는 몇 가지 속성을 포함 하는 클래스는 Url, Title, 및 Description 속성입니다. 반면는 Url 속성은 사용는 XmlSiteMapProvider 공급자 노드를 추적 하기 위해 사용 하는 내부 컬렉션에서 조회 키로 asp.net, 기본 사이트 맵 공급자 인 클래스는 SiteMapNode 클래스는 기본 지원 Key 노드를 추적 하는 데 사이트 맵 공급자가 사용할 수 있는 속성입니다. 또한는 Url 속성은 하이퍼링크를 탐색 구조 내에서 페이지를 렌더링 하 탐색 컨트롤에서 사용 합니다. Title 속성에 대 한 이름을는 SiteMapNode, 같습니다 종종 Web Form의 HTML 제목 및 탐색 컨트롤에서 간단한 레이블을 렌더링 하는 데 사용 됩니다. 마지막으로,는 NameValueCollection 컬렉션 추가 Attributes 특성은 사이트 맵 공급자를 사용 하는 수 SiteMapNode 개체를 자료에서 사용할 수 없는 추가 속성을 하지만 필요 SiteMapNode 클래스입니다.

이 섹션에는 두 가지 코드 예제가 포함 되어 있습니다. 첫 번째 코드 예제에는 새 사이트 맵 노드 컬렉션을 만들고 요소를 추가 하는 방법을 보여 줍니다. 두 번째 코드 예제에서는 텍스트 파일에서 사이트 맵 데이터를 로드 하는 방법을 보여 줍니다.

다음 코드 예제에 사용 하는 방법을 보여 줍니다는 SiteMapNodeCollection 생성자를 만들기 위한 SiteMapNodeCollection 컬렉션에 추가한 다음 요소를 포함 하 여 추가할는 Add 메서드.

// 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 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
2.0 이후 사용 가능

이 형식의 모든 public static(Visual Basic의 공유 Visual Basic의 경우) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전이 보장되지 않습니다.

맨 위로 이동
표시: