C# Sharepoint从列表中获取内容
大家好,我尝试为sharepoint 2013编写一个小应用程序,我们可以在SQL Server上备份我们的项目。现在我尝试在sharepoint上的所有项目中循环,以便获得字段的内容。比如国家=奥地利 我试着遵循这个指南,但没有成功: 这就是我得到的:C# Sharepoint从列表中获取内容,c#,sharepoint,sharepoint-2013,C#,Sharepoint,Sharepoint 2013,大家好,我尝试为sharepoint 2013编写一个小应用程序,我们可以在SQL Server上备份我们的项目。现在我尝试在sharepoint上的所有项目中循环,以便获得字段的内容。比如国家=奥地利 我试着遵循这个指南,但没有成功: 这就是我得到的: //Loads only a Projeclist from sharepoint public SPpowerPlantList loadProjectFromSharePoint() { SPpowerPlantList pplis
//Loads only a Projeclist from sharepoint
public SPpowerPlantList loadProjectFromSharePoint()
{
SPpowerPlantList pplist = new SPpowerPlantList();
ClientContext context = new ClientContext(powerPlantSite);
Web web = context.Web;
context.Load(web.Lists);
context.ExecuteQuery();
foreach (List list in web.Lists)
{
SPpowerPlant pp = new SPpowerPlant();
//Stuff like this one should work but dont....
pp.country = list.country
}
return pplist;
}
对我的英语来说,任何建议都是非常好的
编辑:SPpowerPlantList应该是Sharepoint项目列表中所有项目的列表。来自SharePoint的loadProjectsFromSharepoint应该会得到一个项目列表,我可以从中开始向sql Server添加值。SQL表值=Sharepoint字段值之类的内容
EDIT2因此,对文件的访问现在适用于几个字段,但我知道我得到了一个属性或字段尚未初始化的消息。尚未请求或请求尚未执行。可能需要显式请求它
以下是新代码:(某些字段的工作方式类似于货币)
//仅从sharepoint加载项目列表
public SPpowerPlantList loadProjectFromSharePoint()
{
SPpowerPlantList powerPlantList=新的SPpowerPlantList();
ClientContext=新的ClientContext(powerPlantSite);
List powerPlantsList=context.Web.Lists.GetByTitle(“发电厂”);
CamlQuery=CamlQuery.CreateAllItemsQuery();
query.ViewXml=@;
ListItemCollection items=powerPlantsList.GetItems(查询);
上下文。加载(项目);
context.ExecuteQuery();
foreach(项目中的ListItem ListItem)
{
SPpowerPlant powerPlant=新的SPpowerPlant();
powerPlant.projectName=listItem[“项目”].ToString();
powerPlant.location=listItem[“Loacation”].ToString();
powerPlant.country=listItem[“country”].ToString();
powerPlant.currency=listItem[“currency”].ToString();
powerPlant.shortName=listItem[“Short Name”].ToString();
powerPlant.spaceUrl=listItem[“Space”].ToString();
powerPlant.numberOfWtgs=Convert.ToInt32(列表项[“WTGs数量]);
powerPlant.mwWtg=Convert.ToDouble(列表项[“MW WTG”);
powerPlant.mwTotal=Convert.ToDouble(列表项[“MW总计]);
powerPlant.projectShareWeb=Convert.ToDouble(列表项[“项目共享]);
powerPlant.mwWeb=Convert.ToDouble(列表项[“MW]”);
powerPlant.phaseDescription=listItem[“阶段描述”].ToString();
powerPlant.projectProgress=Convert.ToDouble(列表项[“项目进度]);
powerPlant.mwDeveloped=Convert.ToDouble(列表项[“MW developed”);
powerPlant.possibleWtgTypes=listItem[“可能的WTG类型”]。ToString();
powerPlant.hubHeight=listItem[“轮毂高度”].ToString();
powerPlant.allpermissions=Convert.ToDateTime(列表项[“所有许可证]);
powerPlant.cod=Convert.ToDateTime(列表项[“cod]”);
powerPlant.projectManager=listItem[“项目经理”].ToString();
powerPlant.technology=listItem[“technology”].ToString();
powerPlant.state=listItem[“state”].ToString();
powerPlant.statefunce=Convert.ToDateTime(列表项[“状态自”]);
powerPlant.visibility=listItem[“visibility”].ToString();
powerPlant.phase=listItem[“phase”].ToString();
powerPlant.phaseEnumber=listItem[“相号”].ToString();
//Console.WriteLine(列表项[“货币]);
powerPlantList.Add(powerPlant);
}
返回powerPlantList;
}
我用lambda表达式将其绑定,但没有成功。问题是我的listitem[“names”]的位置不正确。 要使这些内容正常工作,您需要转到sharepoint网站,在那里排序时查看链接,您会看到listitem的正确名称 新的工作形式:
//Loads only a Projeclist from sharepoint
public SPpowerPlantList loadProjectFromSharePoint()
{
SPpowerPlantList powerPlantList = new SPpowerPlantList();
ClientContext context = new ClientContext(powerPlantSite);
List powerPlantsList = context.Web.Lists.GetByTitle("Power Plants");
CamlQuery query = CamlQuery.CreateAllItemsQuery(100);
//query.ViewXml = @"<View><Query> </Query></View>";
ListItemCollection items = powerPlantsList.GetItems(query);
//context.Load(web.Lists,
// lists => lists.Include(list => list.Title, // For each list, retrieve Title and Id.
// list => list.Id,
// list => list.Description));
context.Load(items);
context.ExecuteQuery();
foreach (ListItem listItem in items)
{
SPpowerPlant powerPlant = new SPpowerPlant();
powerPlant.projectName = listItem["Title"].ToString();
powerPlant.location = listItem["Location"].ToString();
powerPlant.country = listItem["Country"].ToString();
powerPlant.currency = listItem["Currency"].ToString();
powerPlant.shortName = listItem["Short_x0020_Name"].ToString();
powerPlant.spaceUrl = listItem["Space"].ToString();
powerPlant.numberOfWtgs = Convert.ToInt32(listItem["Number_x0020_of_x0020_WTGs"]);
//Console.WriteLine(listItem[""]);
//powerPlantList.Add(powerPlant);
}
return null;
}
//仅从sharepoint加载项目列表
public SPpowerPlantList loadProjectFromSharePoint()
{
SPpowerPlantList powerPlantList=新的SPpowerPlantList();
ClientContext=新的ClientContext(powerPlantSite);
List powerPlantsList=context.Web.Lists.GetByTitle(“发电厂”);
CamlQuery=CamlQuery.CreateAllItemsQuery(100);
//query.ViewXml=@;
ListItemCollection items=powerPlantsList.GetItems(查询);
//加载(web.list,
//lists=>lists.Include(list=>list.Title,//对于每个列表,检索Title和Id。
//list=>list.Id,
//list=>list.Description));
上下文。加载(项目);
context.ExecuteQuery();
foreach(项目中的ListItem ListItem)
{
SPpowerPlant powerPlant=新的SPpowerPlant();
powerPlant.projectName=listItem[“Title”].ToString();
powerPlant.location=listItem[“location”].ToString();
powerPlant.country=listItem[“country”].ToString();
powerPlant.currency=listItem[“currency”].ToString();
powerPlant.shortName=listItem[“Short_x0020_Name”]。ToString();
powerPlant.spaceUrl=listItem[“Space”].ToString();
powerPlant.numberOfWtgs=转换为32(列表项[“数量”WTGs的数量]);
//Console.WriteLine(列表项[“”]);
//powerPlantList.Add(powerPlant);
}
返回null;
}
请详细说明代码中的“SPpowerPlantList”是什么,以及您希望从loadProjectFromSharePoint函数返回的确切输出是什么。
//Loads only a Projeclist from sharepoint
public SPpowerPlantList loadProjectFromSharePoint()
{
SPpowerPlantList powerPlantList = new SPpowerPlantList();
ClientContext context = new ClientContext(powerPlantSite);
List powerPlantsList = context.Web.Lists.GetByTitle("Power Plants");
CamlQuery query = CamlQuery.CreateAllItemsQuery(100);
//query.ViewXml = @"<View><Query> </Query></View>";
ListItemCollection items = powerPlantsList.GetItems(query);
//context.Load(web.Lists,
// lists => lists.Include(list => list.Title, // For each list, retrieve Title and Id.
// list => list.Id,
// list => list.Description));
context.Load(items);
context.ExecuteQuery();
foreach (ListItem listItem in items)
{
SPpowerPlant powerPlant = new SPpowerPlant();
powerPlant.projectName = listItem["Title"].ToString();
powerPlant.location = listItem["Location"].ToString();
powerPlant.country = listItem["Country"].ToString();
powerPlant.currency = listItem["Currency"].ToString();
powerPlant.shortName = listItem["Short_x0020_Name"].ToString();
powerPlant.spaceUrl = listItem["Space"].ToString();
powerPlant.numberOfWtgs = Convert.ToInt32(listItem["Number_x0020_of_x0020_WTGs"]);
//Console.WriteLine(listItem[""]);
//powerPlantList.Add(powerPlant);
}
return null;
}