C# 将Web应用程序、网站集、网站和库数据绑定到Web部件中的Sharepoint 2007下拉列表
答:我想知道检索SharePoint 2007安装(在服务器场上)的web应用程序、网站集、网站和库并在web部件的下拉列表中显示这些数据的最佳方法 B.应使用哪种类型的web部件 C.我从什么对象模型或数据库/表获取这些信息 例如: “Web应用程序”下拉列表1 “网站集”下拉列表2 “站点”下拉列表3 可滚动文本区域中的“库”C# 将Web应用程序、网站集、网站和库数据绑定到Web部件中的Sharepoint 2007下拉列表,c#,sharepoint,sharepoint-2007,web-parts,C#,Sharepoint,Sharepoint 2007,Web Parts,答:我想知道检索SharePoint 2007安装(在服务器场上)的web应用程序、网站集、网站和库并在web部件的下拉列表中显示这些数据的最佳方法 B.应使用哪种类型的web部件 C.我从什么对象模型或数据库/表获取这些信息 例如: “Web应用程序”下拉列表1 “网站集”下拉列表2 “站点”下拉列表3 可滚动文本区域中的“库” SPFarm=SPFarm.Local; SPWebService服务=farm.Services.GetValue(“”); foreach(SPWebApplic
SPFarm=SPFarm.Local;
SPWebService服务=farm.Services.GetValue(“”);
foreach(SPWebApplication-webapp-in-service.WebApplications)
{
foreach(webapp.Sites中的SPSite sitecoll)
{
foreach(sitecoll.AllWebs中的SPWeb站点)
{
Dispose();
}
sitecoll.Dispose();
}
}
上面的代码示例提供了查找spfarm中所有站点列表的代码。如果要在每个Web部件的每个下拉列表中显示每种类型的数据,可以使用上面的示例查找所有webapplication、sitecollection、Web,使用SPListto从splistcollection中获取SPweb.list中可用的所有列表项。您可以制作一些连接的Web部件 例如: 1-Web应用程序列表Web部件 您可以从
SPWebService.WebApplications
获取数据。所选Web应用程序应用作网站集列表Web部件的筛选器
2-网站集列表Web部件
您可以从SPWebApplication.Sites
获取数据。所选站点应用作Web列表Web部件的筛选器。确保在使用SPSite
对象后对其进行处理
3-Web列表Web部件
您可以从
SPSite.AllWebs
获取数据。请确保在使用SPWeb
对象后对其进行处理。您不需要递归来获取子网站,因为所有网站都已经为您提供了网站集下的顶级网站和所有子网站。如果网站集下的所有子网站也包含网站,该怎么办?如果您准确地将答案提供给我,我将很乐意选择您的答案使用下拉列表功能查看web部件Nevermind。我让它工作了……我会选择你的答案……:)谢谢
SPFarm farm = SPFarm.Local;
SPWebService service = farm.Services.GetValue<SPWebService>("");
foreach (SPWebApplication webapp in service.WebApplications)
{
foreach (SPSite sitecoll in webapp.Sites)
{
foreach (SPWeb web in sitecoll.AllWebs)
{
<<Use recursion here to Get sub WebS>>
web.Dispose();
}
sitecoll.Dispose();
}
}