Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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# Sharepoint从列表中获取内容_C#_Sharepoint_Sharepoint 2013 - Fatal编程技术网

C# 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

大家好,我尝试为sharepoint 2013编写一个小应用程序,我们可以在SQL Server上备份我们的项目。现在我尝试在sharepoint上的所有项目中循环,以便获得字段的内容。比如国家=奥地利

我试着遵循这个指南,但没有成功:

这就是我得到的:

//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;

    }