如何使用c#获取Sharepoint List

时间:2014-09-08 06:10:56

标签: c# sharepoint-2010

如何从特定列表项获取字段值。在我的情况下,我想获得Workplan列表的所有表单文件。实际上我想获得Workplan所有列表项并插入到sharepoint 2013关联数据库。

example

我尝试以下代码。

string strUrl = "http://example.com/default.aspx";
using (SPSite site = new SPSite(strUrl))
{
    using (SPWeb web = site.OpenWeb())
    {                 

        SPList list = web.Lists[52];
        SPQuery myquery = new SPQuery();
        myquery.Query = "";        
        SPListItemCollection items = list.GetItems(myquery);                

        foreach (SPListItem item in items)
        {
            if (item != null)
            {
                var Name = item.ListItems.Fields.List;
                Console.WriteLine("Name is :" + Name);
            }
        }  
    }
}

2 个答案:

答案 0 :(得分:8)

这是我能想到使用服务器对象模型的最简单方法:

string strUrl = "http://example.com";                
using(SPSite oSite = new SPSite(strUrl))
{        
   using(SPWeb oWeb = oSite.OpenWeb())
   {
      SPList list = oWeb.Lists["Workplan"];

       foreach(SPField field in list.Fields)
       {
           Console.WriteLine(field.Title);
       }
    }            
}

顺便说一句,对于您的网站网址"http://example.com/default.aspx",就像"http://example.com"一样。

有关Sharepoint的更多信息,我建议将来使用this site

答案 1 :(得分:2)

using (SPSite site = new SPSite("URL")
     {
        using (SPWeb web = site.OpenWeb("sitecollection/subsite"))
        {
         //to get specific list type
           string listUrl = "/sites/sitecollection/subsite/Lists/Announcements";
           SPList list = web.GetList(listUrl);
           Console.WriteLine("List URL: {0}", list.RootFolder.ServerRelativeUrl);
        }
     }

//要从spweb获取所有列表,请使用:

SPSite oSiteCollection = SPContext.Current.Site;
using(SPWebCollection collWebs = oSiteCollection.AllWebs)
{
foreach (SPWeb oWebsite in collWebs)
{
    SPListCollection collSiteLists = oWebsite.Lists;
    foreach (SPList oList in collSiteLists)
    {
        //get your each list here
    }
    oWebsite.Dispose();
}
}