This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

SiteMapProvider.GetChildNodes أسلوب

Visual Studio 2010

عند تجاوز في فئة مشتقة، يسترد فرع عقد معينة SiteMapNode.

مساحة الاسم:  System.Web
التجميع:  System.Web (في System.Web.dll)

public abstract SiteMapNodeCollection GetChildNodes(
	SiteMapNode node
)

المعلمات

node
النوع: System.Web.SiteMapNode
SiteMapNode التي إلى استرداد العقد التابعة الجميع.

القيمة المُرجعة

النوع: System.Web.SiteMapNodeCollection
الللقراءة فقط SiteMapNodeCollectionيحتوي على التابع الفوري لا des من المحدد SiteMapNode؛ وإلا، nullأو مجموعة فارغ، إذا لا التابعة لا des موجودة.

فئات الذي ينحدر من SiteMapProviderيجب أن يقوم تطبيق فئة الملخص GetChildNodesالأسلوب.

ملاحظات للمسئولين عن الإرث

عند تجاوز GetChildNodesأسلوب في فئة مشتقة، يجب التأكد من تنفيذ الاقتطاع للأمان تشغيل العقد التابعة والتأكد من أن المجموعة التي تم إرجاعها هو القراءة فقط. المجموعة تحتوي على التوابع المعين فوري فقط node.

يوضح المثال تعليمات برمجية التالي كيفية تطبيق GetChildNodesأسلوب في فئة الذي يطبق الملخص SiteMapProviderclass. SimpleTextSiteMapProviderيخزن الهرمية الأصل/فرع علاقات في واحد Hashtableالكائن وكافة SiteMapNodeالكائنات أخرى. GetChildNodes أسلوب يقوم البحث العكسي استخدام كل من ArrayListالكائنات.

هذا مثال للتعليمة البرمجية هي جزء من مثال أكبر متوفر لفئة SiteMapProvider.


// Implement the GetChildNodes method.
public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
{
  SiteMapNodeCollection children = new SiteMapNodeCollection();
  // Iterate through the ArrayList and find all nodes that have the specified node as a parent.
  lock (this)
  {
    for (int i = 0; i < childParentRelationship.Count; i++)
    {

      string nodeUrl = ((DictionaryEntry)childParentRelationship[i]).Key as string;

      SiteMapNode parent = GetNode(childParentRelationship, nodeUrl);

      if (parent != null && node.Url == parent.Url)
      {
        // The SiteMapNode with the Url that corresponds to nodeUrl
        // is a child of the specified node. Get the SiteMapNode for
        // the nodeUrl.
        SiteMapNode child = FindSiteMapNode(nodeUrl);
        if (child != null)
        {
          children.Add(child as SiteMapNode);
        }
        else
        {
          throw new Exception("ArrayLists not in sync.");
        }
      }
    }
  }
  return children;
}
protected override SiteMapNode GetRootNodeCore()
{
  return RootNode;
}
// Implement the GetParentNode method.
public override SiteMapNode GetParentNode(SiteMapNode node)
{
  // Check the childParentRelationship table and find the parent of the current node.
  // If there is no parent, the current node is the RootNode.
  SiteMapNode parent = null;
  lock (this)
  {
    // Get the Value of the node in childParentRelationship
    parent = GetNode(childParentRelationship, node.Url);
  }
  return parent;
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: