Unter der Annahme, "site" Ihre aktuelle SPWeb ist, schauen Sie einfach bei site.Webs oder site.GetSubwebsForCurrentUser(). Ich glaube, der erstere wird versuchen, Ihnen alle Unterwebs zu geben, auch wenn der aktuelle Benutzer keinen Zugriff hat, also wird Letzteres wahrscheinlich bevorzugt.
Update - ich später erkannte, Ihre Frage Titel angezeigt Sie das übergeordnete Netz wollen, während der Text Ihrer Frage angezeigt Sie ein Unterweb wollte. Oben ist ein Unternetz. Das übergeordnete Web ist einfach site.ParentWeb (wiederum unter der Annahme, dass "site" Ihr SPWeb ist). Sie können die IsRootWeb-Eigenschaft immer überprüfen, wenn Sie dies überprüfen möchten.
Noch ein Update - Basierend auf Ihrem Kommentar sieht es aus wie "Website" kann eine SPSite anstelle eines SPWeb sein. Um ein Web zu erhalten, müssen Sie etwas wie site.OpenWeb() tun (jetzt unter der Annahme, dass "site" eine SPSite ist). Es empfiehlt sich, dies innerhalb einer C# using-Anweisung zu tun, um die SPWeb-Eigenschaft zu entfernen, wenn Sie fertig sind. Beachten Sie, dass die OpenWeb-Methode keine Parameter annehmen kann, die gut funktionieren, wenn die SPSite mit der vollständigen URL zu Ihrem SPWeb instanziiert wurde. Oder das OpenWeb kann einen URL-Parameter annehmen.
So initiiere ich meinen Site-Wert SPSite site = SPContext.GetContext (this.Context) .Site; – idsis