SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。SharePoint提供了功能强大的团队协作环境,使得组织能够在整个组织内部实现整合、组织、查找和提供 SharePoint站点。 SharePoint的任务列表中有一个字段叫做“分配对象”,就是为任务指派给某个用户。该字段的数据类型是User型的。在拼Web Service更新命令的串时,并不能像通常的字段一样直接给一个用户名做为值。 关于如何使用SharePoint提供的WebService进行列表的增删改,可以参考这里。 下面是该栏的相关信息:
?有一点是肯定的,那就是一定是以字符串的方式来传值的。经过对列表项的架构xml的分析,发现了这个字符串的格式为 “UserID;#UserName”。 那么,只需要在调用UpdateListItem之前调用另一个获取用户信息的WebService先得到这些信息就可以顺利实现对包含该类型字段的列表项进行更新了。 下面是示例的代码,在vs2005中调试通过。其中引用了两个SharePoint的WebService.。分别是 Lists Service Web引用Url:http://Server_Name/[sites/][Site_Name/]_vti_bin/Lists.asmx 文件夹名称:LabDb Users and Groups Service Web引用Url:http://Server_Name/[sites/][Site_Name/]_vti_bin/UserGroup.asmx 文件夹名称:LabUser using?System.Collections.Generic; using?System.Text; using?System.Xml; namespace?ConsoleTestUpdate { ????class?Program ????{ ????????static?void?Main(string[]?args) ????????{ ????????????LabDb.Lists?listService?=?new?LabDb.Lists(); ????????????LabUser.UserGroup?userService?=?new?LabUser.UserGroup(); ????????????userService.Credentials?=?listService.Credentials?=?System.Net.CredentialCache.DefaultCredentials; ????????????string?UserID?=?""; ????????????string?UserName?=?""; ????????????try ????????????{ ????????????????XmlNode?ndUserInfo?=?userService.GetUserInfo("lab\\sunmoonfire"); ????????????????UserID?=?ndUserInfo.ChildNodes[0].Attributes["ID"].Value.ToString(); ????????????????UserName=?ndUserInfo.ChildNodes[0].Attributes["Name"].Value.ToString(); ???????????????? ????????????} ????????????catch?{?} ????????????if?((UserID?!=?null?&&?UserID?!=?"")?&&?(UserName?!=?""?&&?UserName?!=?null)) ????????????{ ????????????????string?strBatch?=?" ???????????????????????????????" ???????????????????????????????" ???????????????????????????????UserID?+?";#"?+?UserName?+?""; ????????????????XmlDocument?xmlDoc?=?new?System.Xml.XmlDocument(); ????????????????System.Xml.XmlElement?elBatch?=?xmlDoc.CreateElement("Batch"); ????????????????elBatch.SetAttribute("OnError",?"Continue"); ????????????????elBatch.InnerXml?=?strBatch; ????????????????try ????????????????{ ????????????????????XmlNode?ndReturn?=?listService.UpdateListItems("任务",?elBatch); ????????????????????//XmlNode?ndReturn?=?listService.GetListItems("任务",null,null,null,null,null);??????//查看返回的列表项的结构,用于分析串的组成 ????????????????????Console.WriteLine(ndReturn.OuterXml); ??????? ????????????????} ????????????????catch?(Exception?ex) ????????????????{ ????????????????????Console.WriteLine(ex.Message); ????????????????} ????????????} ????????????else ????????????{ ????????????????Console.WriteLine("bad?parameter"); ????????????} ????????????Console.Read(); ????????} ????} } Sharepoint 可以帮助企业用户轻松完成日常工作。 |
温馨提示:喜欢本站的话,请收藏一下本站!