2
我正在编写一个代码,该代码将遍历SharePoint列表中的每个列表项并查找空字段。如果找到空字段,则通过电子邮件通知负责该列表项目的人员。Sharepoint字段尚未在C#中初始化
我在其中指出
的属性或字段尚未初始化行
val = oListItem[field.Title];
得到一个错误。它没有被请求或者请求没有被执行。可能需要明确要求。
在我看来,我已经初始化了该行之前的所有内容。
static void Main()
{
ClientContext context = new ClientContext("https://****");
context.Credentials = new NetworkCredential("****", "****");
List oList = context.Web.Lists.GetByTitle("TestBI");
FieldCollection fieldcol = oList.Fields;
context.Load(oList);
context.Load(fieldcol);
context.ExecuteQuery();
ListItem oListItem = oList.GetItemById(1);
object val = null;
for (int i = 1; i <= 4; i++)
{
oListItem = oList.GetItemById(i);
foreach (Field field in fieldcol)
{
val = oListItem[field.Title];
if(val == null)
{
//Send e-mail
}
}
}
context.ExecuteQuery();
}
我试过了,但现在在加载字段后,它给我一个ExecuteQuery错误......“项目不存在,它可能已被其他用户删除。有什么建议么? – user3158291
这很可能是整个其他问题。看看这里http://stackoverflow.com/questions/15790926/client-object-model-get-item-by-id-item-does-not-exist-it-may-have-been-delete并搜索许可问题,我很遗憾在SharePoint的这一方面工作不多。 – Kilazur
我不确定这是否是问题所在。我正在使用的帐户可以完全控制网站和列表。 – user3158291