Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Web应用程序、网站集、网站和库数据绑定到Web部件中的Sharepoint 2007下拉列表_C#_Sharepoint_Sharepoint 2007_Web Parts - Fatal编程技术网

C# 将Web应用程序、网站集、网站和库数据绑定到Web部件中的Sharepoint 2007下拉列表

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

答:我想知道检索SharePoint 2007安装(在服务器场上)的web应用程序、网站集、网站和库并在web部件的下拉列表中显示这些数据的最佳方法

B.应使用哪种类型的web部件

C.我从什么对象模型或数据库/表获取这些信息

例如:

“Web应用程序”下拉列表1

“网站集”下拉列表2

“站点”下拉列表3

可滚动文本区域中的“库”

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();   

                }

            }