SPWeb.Webs, Site vs SubSite

2020-06-20 05:39发布

问题:

I am confused between SPSite, SiteCollection, and SPWeb?

So my understanding is this pseudo code:

 http://My_server >>> TOP Level SIte or SPWEbApplication
 http://My_server/My_site >>>> Site Collection or SPSite

Now a site under SPSite that will be referenced through SPWeb. So what are we getting when using SPWeb.Webs?

What is a Subsite?


Test code:

SPWeb mySite = SPContext.Current.Web;
SPWebCollection sites = mySite.Webs;

foreach (SPWeb subSite in sites)
{
    Response.Write(SPEncode.HtmlEncode(subSite.Title) + "<BR>");
}

回答1:

The top level site collection SPSite is a container in which you have your root web SPWeb and subsites SPWebs under SPWebs - it takes a while to get used to the names.

Here's a nice diagram referenced from Microsoft:

Therefore, a subsite will be any site SPWeb under the top level web site in a site collection SPSite.



回答2:

The top level site is also referred to as the Root Web SPSite.RootWeb.