网站首页/办公软件列表/内容

SharePoint WebService 更新审批状态

办公软件2024-02-08阅读
SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。

?SharePoint列表使用WebService操作,可以进行增删改查,但是操作开启审批功能列表的时候,会遇到列表项审批的问题,只要进行修改,该项目就会变成待定状态,然后想要修改审批状态,就使用UpdateListItems方法,一直自以为是的以为,修改审批状态,不就是更新么Cmd='Update'不就可以了,事实却不是如此。

审批方法名称UpdateListItems(string ListName, XmlNode updates)

参数名称

ListName? 为列表名称,string类型

Updates? ?为XmlNode类型,用于更新

Cmd参数,Update为更新

1 Name参数,字段名称;Field中的值,ID字段的值

_ModerationStatus? 为审批状态字段

审批状态:0为已批准 1为已拒绝 2为待定 3为草稿

?

示例代码[C#]

WebReference.Lists ? listService = new WebReference.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

string strBatch = " Cmd='Update'>" +

??????????????????? ? "1" +

??????????????????? ? "0";

XmlDocument xmlDoc = new ? System.Xml.XmlDocument();

System.Xml.XmlElement ? elBatch = xmlDoc.CreateElement("Batch");

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("通知公告", elBatch);

Console.Write("操作成功");

?

????? 如上面的代码,居然执行完毕,也输出“操作成功”,真是见鬼了,但是审批状态,一直为待定,无论修改一次,或者修改几次,都是不会改变的,后来继续查资料,发现更新审批状态时的cmd不是update,真见鬼,居然是Moderate,如下面表格。

string strBatch = "Cmd='Moderate'>" +

??????????????????? ? "1" +

??????????????????? ? "0";

????? 修改完了strBatch的Cmd以后,执行,执行成功!


Sharepoint 可以帮助企业用户轻松完成日常工作。

……

相关阅读