A SharePoint 2007 (MOSS/WSS) WebPart to show up all subsites under a site
Here is the code for the WebPart:
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
namespace ListSubSites
{
[Guid("e96ea212-f44b-4d16-886d-e8fe7d389a7a")]
public class ListSubSites : System.Web.UI.WebControls.WebParts.WebPart
{
string output = "<table border=\"0\">";
protected override void CreateChildControls()
{
base.CreateChildControls();
SPSite site = new SPSite("https://<Your site URL>/");
SPWeb web = site.OpenWeb();
SPWebCollection subSites = web.Webs;
foreach (SPWeb subSite in subSites)
{
output += "<tr><td><a href=\"" + subSite.Url + "\"/>" + subSite.Title + "</a></td></tr>";
}
output += "</table>";
}
protected override void Render(HtmlTextWriter writer)
{
// TODO: add custom rendering code here.
EnsureChildControls();
writer.Write(output);
}
}
}
Comments
Anonymous
July 18, 2007
PingBack from http://stevepietrekweblog.wordpress.com/2007/07/18/links-7182007/Anonymous
October 21, 2007
Hi there, I was just wondering why you import using Microsoft.SharePoint.WebControls; using Microsoft.SharePoint.WebPartPages; then inherit System.Web.UI.WebControls.WebParts.WebPart? CheersAnonymous
July 24, 2009
Ok tell me how I can use this code in my MOSS 2007 site, may be as webpart os something to show only subsites and not other contenets? Thanks