2009-07-16 5 views
0

Ich habe einen Code, der alle Sites, die wir in SharePoint erstellt haben, durchläuft und die Sites findet, die über Dokumentation verfügen. Wenn ich das SPSite-Objekt (?) Erstelle, definiere ich ein bestimmtes Verzeichnis, aber unabhängig davon, was ich zu tun scheint, durchläuft das Skript immer alle Sites in SharePoint und nicht nur die Sites im angegebenen Verzeichnis.SPSite Directory Selection (C#)

Hier ist, was die Codezeile wie folgt aussieht: mit (SPSite site = neue SPSite („http://www.mysite.com/myprojects/ABC/“))

Ich versuche, die Websites im ../myprojects/ABC/ Verzeichnis zu erhalten, aber ich bekomme alle Seiten innerhalb mysite.com

Alle Ideen oder Erkenntnisse würden sehr geschätzt werden.

+0

Der interessantere Teil des Codes wäre der Beginn des Iterationscodes. –

+0

Was meinen Sie mit "Sites, die Dokumentation haben". Wonach suchst du genau? – Flo

Antwort

1

Die Frage ist: Was ist Ihre Iteration Code aussehen? Wenn Sie eine Site.OpenWeb() ausführen und dann rekursiv über die direkten untergeordneten Elemente mit der SPWeb.Webs-Eigenschaft iterieren, sollten Sie in Ordnung sein.

Ihr Verhalten klingt mehr wie Sie site.AllWebs verwenden, die alle Websites (SPWeb) in der Websitesammlung zurückgibt.

+1

Zu Paul-Jans Punkt hinzufügen; Neue SPSite ("http://www.mysite.com/myprojects/ABC/") Erstellt einen Verweis auf die Websitesammlung, die diese URL hostet. Wenn das das Stammweb in einer Websitesammlung ist .OpenWeb(). Webs geben Ihnen, was Sie möchten. Wenn die Websitesammlung tatsächlich http://www.mysite.com/ lautet, müssen Sie einen Verweis auf das SPWeb unter/myprojects/ABC/abrufen und dann .Webs verwenden – Mark