C# 将 Microsoft.Sharepoint.Client.FieldUserValue 转换为 Microsoft.Sharepoint.Cliend.User
C# convert Microsoft.Sharepoint.Client.FieldUserValue to Microsoft.Sharepoint.Cliend.User
好的,我正在使用 Caml 查询从共享点列表中检索项目。我通过字段值将项目循环到我想要的那个。我的问题是我需要将 FieldUserValue 数据类型转换为普通用户数据类型。有一种方法可以从 User 中检索 FieldUserValue,但反过来不行...
User Usr;
foreach (ListItem item in items)
{
foreach (var f in item.FieldValues)
{
if (f.Key == "ColumnTitleofDataTypePersonorGroup")
{
//Error Message
Usr = f.Value;
}
}
}
详细的错误消息说
错误 2 无法将类型 'object' 隐式转换为 'Microsoft.SharePoint.Client.User'。存在显式转换(是否缺少转换?)
我想我只是错过了一些明显的东西..
提前感谢您的帮助..
下面的例子演示了如何得到User object from FieldUserValue object:
var list = ctx.Web.Lists.GetByTitle(listTitle);
var item = list.GetItemById(itemId);
ctx.Load(item);
ctx.ExecuteQuery();
var author = (Microsoft.SharePoint.Client.FieldUserValue) item["Author"];
var authorUser = ctx.Web.SiteUsers.GetById(author.LookupId);
ctx.Load(authorUser);
ctx.ExecuteQuery();
好的,我正在使用 Caml 查询从共享点列表中检索项目。我通过字段值将项目循环到我想要的那个。我的问题是我需要将 FieldUserValue 数据类型转换为普通用户数据类型。有一种方法可以从 User 中检索 FieldUserValue,但反过来不行...
User Usr;
foreach (ListItem item in items)
{
foreach (var f in item.FieldValues)
{
if (f.Key == "ColumnTitleofDataTypePersonorGroup")
{
//Error Message
Usr = f.Value;
}
}
}
详细的错误消息说
错误 2 无法将类型 'object' 隐式转换为 'Microsoft.SharePoint.Client.User'。存在显式转换(是否缺少转换?)
我想我只是错过了一些明显的东西..
提前感谢您的帮助..
下面的例子演示了如何得到User object from FieldUserValue object:
var list = ctx.Web.Lists.GetByTitle(listTitle);
var item = list.GetItemById(itemId);
ctx.Load(item);
ctx.ExecuteQuery();
var author = (Microsoft.SharePoint.Client.FieldUserValue) item["Author"];
var authorUser = ctx.Web.SiteUsers.GetById(author.LookupId);
ctx.Load(authorUser);
ctx.ExecuteQuery();