2009-07-16 11 views
0

Je dispose d'un code qui s'exécute sur tous les sites que nous avons créés dans SharePoint et trouve les sites qui ont la documentation. Lorsque je crée l'objet SPSite (?), Je définis un répertoire spécifique, mais peu importe ce que je semble faire, le script parcourt toujours tous les sites dans SharePoint, et pas seulement les sites dans le répertoire spécifié.SPSite Directory Selection (C#)

Voici ce que la ligne de code ressemble: à l'aide (site SPSite = new SPSite ("http://www.mysite.com/myprojects/ABC/"))

Je suis en train d'obtenir les sites dans le répertoire ../myprojects/ABC/, mais je reçois tous les sites de mysite.com

Toutes les idées ou les idées seraient grandement appréciées.

+0

La partie la plus intéressante du code serait le début du code d'itération. –

+0

Que voulez-vous dire par "Sites qui ont de la documentation". Que recherchez-vous exactement? – Flo

Répondre

1

La question est la suivante: qu'est-ce que votre code itération ressembler? Si vous faites un site.OpenWeb(), puis itérer récursivement via les enfants directs en utilisant la propriété SPWeb.Webs, ça devrait aller.

Votre comportement ressemble plus à l'utilisation de site.AllWebs, qui renvoie tous les sites (SPWeb) dans la collection de sites.

+1

Pour ajouter à l'argument de Paul-Jan; new SPSite ("http://www.monsite.com/myprojects/ABC/") Crée une référence à la collection de sites qui héberge cette URL. Si c'est le site Web racine d'une collection de sites .OpenWeb(). Webs vous donnera ce que vous voulez. Si la collection de sites est réellement http://www.monsite.com/, vous devrez alors faire une référence au SPWeb dans/myprojects/ABC/puis utiliser .Webs – Mark