存储SharePoint列表和SharePoint站点

时间:2011-02-22 19:51:17

标签: c# sharepoint-2007

这里有一个问题给大家,我有一个放入下拉框的sharepoint网站列表,我想列举每个网站并带回一个列表,然后单独存储这样他们就可以在程序的后期处理。所以我尝试在这里做到这一点,并将它们添加到集合中,现在我坚持到底是因为我想知道如何将两个集合关联在一起,因为很明显当它为mysp.com/PR创建一个条目列表文档时,图像,&文章。您如何建议我将这两个关联起来,以便在检索网站时,以及它知道属于哪个列表?如果我不清楚请让我知道,我试着清理一下。

谢谢

for (int j = 0; j < MyListofSitesDropDown.Items.Count; j++)
{
    if (MyListofSitesDropDown.Items[j].Value.ToString() != "AllSites")
    {
         //REMOVE UNIMPORTANT CODE HERE

        if (MyListofSitesDropDown.Items[j].Value.ToString() != "INVALID")
        {
            sitecollection1.Add((string)MyListofSitesDropDown.Items[j].Value.ToString());
        }
    }
}
foreach (string siteitem in allsitesalllists)
{
    ListsDropDownBox.Items.Add(new ListItem(siteitem,"SITE" + sitecounter));
    sitecounter++;

    using (SPWeb oWebsite = new SPSite(siteitem).OpenWeb()) //Open SP Web
    {
        SPListCollection collList = oWebsite.Lists; //Open Lists

        foreach (SPList oList in collList)
        //For Each List Execute this
        {
            if (!oList.Hidden)
            {
               listcollection.Add((string))oList.Title)
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我会将所有信息加载到自定义.NET对象的通用列表中(例如:List<SharePointSite> availableSites,并在对象SharePointSite内,您有一个返回SharePointList列表的属性从特定网站开始)

一旦加载了所有内容(并且在缓存中以避免再次繁重的工作),您可以轻松地将下拉列表绑定到通用列表,并在需要时使用级联列表

请注意,当您加载对象时,您可以存储网站和列表的guid,url和title,这样,您就拥有了以后可以重复使用的所有可用列表,并且您可以通过它们轻松识别它们guid(如果你拿完整的网址,网址肯定是唯一的,而不是服务器的相对网址,但根据guid找回你的项目更方便,感觉不那么脏; - )