Sharepoint 2013 更新Sharepoint任务项的ExtendedProperties或批准注释
我正在尝试使用CSOM以编程方式更新SharePoint任务。我能够成功批准任务,但不确定如何更新评论 可以使用Sharepoint 2013 更新Sharepoint任务项的ExtendedProperties或批准注释,sharepoint-2013,csom,sharepoint-workflow,extended-properties,Sharepoint 2013,Csom,Sharepoint Workflow,Extended Properties,我正在尝试使用CSOM以编程方式更新SharePoint任务。我能够成功批准任务,但不确定如何更新评论 可以使用ExtendedProperties作为哈希表来检索注释,但我无法设置相同的值。如何更新审批意见 以下是批准任务的代码: using (ClientContext ctx = new ClientContext("http://abc/sites/TLS/low")) { Web web = ctx
ExtendedProperties
作为哈希表来检索注释,但我无法设置相同的值。如何更新审批意见
以下是批准任务的代码:
using (ClientContext ctx = new ClientContext("http://abc/sites/TLS/low"))
{
Web web = ctx.Web;
List oList = web.Lists.GetByTitle("Tasks");
ListItem listitem = oList.GetItemById(784);
ctx.Load(listitem);
ctx.ExecuteQuery();
Hashtable ht = GetExtendedPropertiesAsHashtable(listitem);
listitem["Completed"] = true;
listitem["PercentComplete"] = 1;
listitem["Status"] = "Approved";
listitem["WorkflowOutcome"] = "Approved";
listitem["FormData"] = "Completed";
//listitem["__ModerationComments"] = "Sdfs";
//listitem["ows_FieldName_Comments"] = "Sdfs";
//ht["ows_FieldName_Comments"] = "sdsds";
listitem.Update();
ctx.ExecuteQuery();
}
下面是获取任务项的扩展属性的代码:
public static Hashtable GetExtendedPropertiesAsHashtable(ListItem task)
{
if (task == null)
{
throw new ArgumentNullException();
}
Hashtable properties = new Hashtable();
string extProperties = (string)task["ExtendedProperties"];
if (!string.IsNullOrEmpty(extProperties))
{
var reader = new XmlTextReader(new StringReader("<Root " + extProperties + " />"))
{
WhitespaceHandling = WhitespaceHandling.Significant
};
reader.MoveToContent();
if (!reader.HasAttributes)
{
return properties;
}
while (reader.MoveToNextAttribute())
{
string propName = reader.Name.Substring(4);
properties[propName] = reader.Value;
}
}
return properties;
}
公共静态哈希表GetExtendedPropertiesAsHashtable(ListItem任务)
{
如果(任务==null)
{
抛出新ArgumentNullException();
}
Hashtable属性=新的Hashtable();
字符串extProperties=(字符串)任务[“ExtendedProperties”];
如果(!string.IsNullOrEmpty(extProperties))
{
var reader=new XmlTextReader(new StringReader(“”)
{
WhitespaceHandling=WhitespaceHandling.显著
};
reader.MoveToContent();
如果(!reader.HasAttributes)
{
归还财产;
}
while(reader.MoveToNextAttribute())
{
string propName=reader.Name.Substring(4);
properties[propName]=reader.Value;
}
}
归还财产;
}
您可以尝试以下操作来更新审批意见:
listitem["ExtendedProperties"] = "ows_FieldName_Comments='comment' ";