'名称' SharePoint联机加载项中的字段初始化错误

时间:2017-08-23 12:30:11

标签: c# sharepoint-online csom

我正在尝试编写一个SharePoint加载项,其中包含一个必须在" Documents"文档中分配所选文件名称的部分。列表到名为title的字符串。

    protected void Page_Load(object sender, EventArgs e)
    {

        var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);

        int listItemID;

        listItemID = GetListItemIDFromQueryParameter();

        using (var clientContext = spContext.CreateUserClientContextForSPHost())
        {
            clientContext.Load(clientContext.Web,
            web => web.Title,
            web => web.CurrentUser,
            web => web.Lists);

            List doclist = clientContext.Web.Lists.GetByTitle("Documents");
            Microsoft.SharePoint.Client.ListItem item = doclist.GetItemById(listItemID);

            string title = item.File.Title;
        }
    }

函数GetListItemIDFromQueryParametr();按预期工作 - 它返回所选文件的ID int值。我希望通过该ID获取文件的名称。以下代码返回错误 -

  

Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException:'属性或字段'标题'尚未初始化。尚未请求或请求尚未执行。可能需要明确要求。'

我现在正试图弄清楚如何初始化该领域,但到目前为止我还没有发现任何可以帮助我的东西。任何线索都会非常感激。

1 个答案:

答案 0 :(得分:0)

您还没有加载您的listitem。在您阅读csom中的属性之前,您需要加载它们,就像加载Web一样。您还需要执行您尚未完成的查询。

在您初始化clientContext.ExecuteQuery();

的行之后添加do list

对于格式不佳的抱歉,我在移动设备上