我正在尝试编写一个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:'属性或字段'标题'尚未初始化。尚未请求或请求尚未执行。可能需要明确要求。'
我现在正试图弄清楚如何初始化该领域,但到目前为止我还没有发现任何可以帮助我的东西。任何线索都会非常感激。
答案 0 :(得分:0)
您还没有加载您的listitem。在您阅读csom中的属性之前,您需要加载它们,就像加载Web一样。您还需要执行您尚未完成的查询。
在您初始化clientContext.ExecuteQuery();
do list
对于格式不佳的抱歉,我在移动设备上