Returning Site Directory SPList
Often times it is required to get a reference to the SPList that contains the site directory information, this is an important task when you are considering construction of navigation solutions or when building holistic reporting tools in order to support governance of site sprawl (which is easy to have happen, but sure is a PITA to get cleaned up!). In order to do this, you will use the Microsoft.SharePoint.SPListTemplateType enumeration to specify the type of a list definition or a list template, in this case the value 300 leveraging a direct cast. For example, a simple method to hydrate the coordinating SPList object can be done as such:
- public static SPList ReturnPortalSiteList(SPWeb web)
- {
- return web.Lists.Cast<SPList>().FirstOrDefault(list => Equals(list.BaseTemplate, (SPListTemplateType) 300));
- }
Easy as pie! :)
Articles & Research
SharePoint Security
SharePoint Development
SharePoint Architecture
Claims Authentication
Forefront For SharePoint
AIS / Dynamics GP
Team Foundation Server
Pex And Moles
ISA/TMG/IAG/UAG
DPM
Cardspace
Research Methodology
Rural ICT Development
Numerical Analysis
Multi-Level Research
Knowledge Management
Personal/Off-Topic
Adam- Is it safe to return an SPList object using a static modifier?
Jeff:
I don’t see why not. All it is indicating is the method does not operate on the specific instance of the class and is callable without instantiating the class. I have a slightly adjusted of the above running in production code and haven’t seen any problems…Is there are particular thing you are concerned about?
Excellent. Exactly what I needed.