mos*_*oss 8 c# sharepoint-2010
如何从特定列表项获取字段值.在我的情况下,我想获得Workplan列表的所有表单文件.实际上我想获得Workplan所有列表项并插入到sharepoint 2013关联数据库.
我尝试以下代码.
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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我能想到使用服务器对象模型的最简单方法:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,对于你的站点网址"http://example.com/default.aspx"来说就足够了"http://example.com".
有关Sharepoint的更多信息,我建议将来使用此站点.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
//要从 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();
}
}
Run Code Online (Sandbox Code Playgroud)