当前位置: 首页 > news >正文

SharePoint Web Service系列: Add或Update类型为User的项

SharePoint的任务列表中有一个字段叫做“分配对象”,就是为任务指派给某个用户。该字段的数据类型是User型的。在拼Web Service更新命令的串时,并不能像通常的字段一样直接给一个用户名做为值。

关于如何使用SharePoint提供的WebService进行列表的增删改,可以参考这里

下面是该栏的相关信息:

内部名

AssignedTo

栏名

分配对象

类型

User

可筛选

TRUE

来源于基础类型

FALSE

隐藏

FALSE

只读

FALSE

可更改域的顺序

TRUE

必添字段

FALSE

可排序

TRUE

有一点是肯定的,那就是一定是以字符串的方式来传值的。经过对列表项的架构xml的分析,发现了这个字符串的格式为 “UserID;#UserName”。

补充:我最近才发现,实际上这里只需要指定“UserID”就可以了。而且在做Cmd="New"操作时,必须是使用UserID的。在新增时写成上面的格式会返回错误。^_^

那么,只需要在调用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;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace ConsoleTestUpdate
{
class Program
{
static void Main( string []args)
{
LabDb.ListslistService
= new LabDb.Lists();
LabUser.UserGroupuserService
= new LabUser.UserGroup();
userService.Credentials
= listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
string UserID = "" ;
string UserName = "" ;
try
{
XmlNodendUserInfo
= 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 = " <MethodID='1'Cmd='Update'> " +
" <FieldName='ID'>1</Field> " +
" <FieldName='AssignedTo'> " +
UserID
+ " ;# " + UserName + " </Field></Method> " ;

XmlDocumentxmlDoc
= new System.Xml.XmlDocument();

System.Xml.XmlElementelBatch
= xmlDoc.CreateElement( " Batch " );
elBatch.SetAttribute(
" OnError " , " Continue " );
elBatch.InnerXml
= strBatch;
try
{
XmlNodendReturn
= listService.UpdateListItems( " 任务 " ,elBatch);
// XmlNodendReturn=listService.GetListItems("任务",null,null,null,null,null); // 查看返回的列表项的结构,用于分析串的组成
Console.WriteLine(ndReturn.OuterXml);

}
catch (Exceptionex)
{
Console.WriteLine(ex.Message);
}
}
else
{
Console.WriteLine(
" badparameter " );
}
Console.Read();
}
}
}

相关文章:

  • 哲学家就餐问题python_Python实现哲学家就餐问题实例代码
  • SharePoint Web Service系列:获取文档的属性信息
  • 如何设置两个textview 的内容在listview同一行里_西门子触摸屏如何与S7-1200/1500的PLC-SIM离线仿真
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之一
  • 无线鼠标可以强制配对_一款简单的小设备,吉选gesobyte无线鼠标
  • oracle sql查询时间_「Burpsuite练兵场」SQL注入及相关实验(二)
  • SharePoint Web Service系列:编写自定义SharePoint Web Services之二
  • python2clock_Python3 time clock()方法
  • SharePoint Web Service系列: Add或Update其他各种类型的项
  • mysql 视图_mysql中常见的视图操作,你理解了吗?
  • Windows文件操作的直接函数调用
  • python同名包_python去除rpm仓库中同名低版本的包
  • MOSS2007基础:Windows SharePoint Services 3.0中的Web Part
  • 输入代码自动生成流程图_输入示例,自动生成代码:TensorFlow官方工具TF-Coder已开源...
  • MOSS 2007基础:WSS 3.0 中的母版页(Master Pages)和内容页(Content Pages)
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Asm.js的简单介绍
  • avalon2.2的VM生成过程
  • canvas 绘制双线技巧
  • Docker 笔记(2):Dockerfile
  • es6(二):字符串的扩展
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • golang中接口赋值与方法集
  • HTTP中的ETag在移动客户端的应用
  • iOS 颜色设置看我就够了
  • learning koa2.x
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • SOFAMosn配置模型
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 从零开始学习部署
  • 大整数乘法-表格法
  • 分布式熔断降级平台aegis
  • 构建工具 - 收藏集 - 掘金
  • 简单易用的leetcode开发测试工具(npm)
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 深入 Nginx 之配置篇
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 我的业余项目总结
  • 线性表及其算法(java实现)
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 1.Ext JS 建立web开发工程
  • scrapy中间件源码分析及常用中间件大全
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​Java并发新构件之Exchanger
  • #if #elif #endif
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • $.each()与$(selector).each()
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2)STM32单片机上位机
  • (70min)字节暑假实习二面(已挂)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)