SharePoint 2010 客户端对象模型使用 ECMAScript
背景
众所周知客户端对象模型是SharePoint 2010 中相当实用的新特性之一,你可能已经了解在SharePoint2007中你如果不想再服务器端调用SharePoint对象,只有通过Web Services来实现。现在在SharePoint 2010 中你可以使用客户端对象模型来实现与SharePoint的交互,当然你也可以继续使用Web Services的方式。
SharePoint 客户端对象模型工作原理
SharePoint客户端对象模型是SharePoint的API之一运行在客户端,他通过应用程序将API调用转化为XML 请求,然后传输到SharePoint服务器端。在服务器端,XML请求被一个名为Client.svc的服务处理为SharePoint服务器端对象模型然后返回结果。得到结果后,Client.svc在把他们转化为JSON对象,并返回到客户端对象模型。最后在客户端JSON再被转义成ECMAScript 对象,从而提供ECMAScript服务。
参考1: http://msdn.microsoft.com/en-us/library/ee538253.aspx
参考2: http://msdn.microsoft.com/en-us/library/ee857094(office.14).aspx
使用ECMAScript
- 创建一个列表名为Product然后添加一些记录。
- 在页面库中创建一个ASPX 测试页面。
- 添加内容编辑web part并加入如下代码。
01
|
<script type= "text/javascript" >
|
02
|
|
03
|
ExecuteOrDelayUntilScriptLoaded(MainFunction, "sp.js" );
|
04
|
|
05
|
var objContext = null ;
|
06
|
var objWeb = null
|
07
|
var objList = null ;
|
08
|
var objItem = null ;
|
09
|
|
10
|
function MainFunction() {
|
11
|
objContext = new SP.ClientContext.get_current();
|
12
|
objWeb = objContext.get_web();
|
13
|
objList = objWeb.get_lists().getByTitle( "Product" );
|
14
|
|
15
|
objContext.load(objList);
|
16
|
|
17
|
objContext.executeQueryAsync(Function.createDelegate( this , this .onSuccess), Function.createDelegate( this , this .onFail));
|
18
|
}
|
19
|
|
20
|
function onSuccess(sender, args) {
|
21
|
alert( 'Item Count: ' + objList.get_itemCount());
|
22
|
}
|
23
|
|
24
|
function onFail(sender, args) {
|
25
|
alert( 'Some error has occured.' );
|
26
|
}
|
27
|
</script>
|
说明
我们使用ExecuteOrDelayUntilScriptLoaded(Func, "sp.js") 来加载客户端对象模型。该函数是客户端对象模型的核心,并加载sp.js以及最为主函数的函数名。我们必须用过SP.ClientContext来获取站点上下文内容并通过get_web()方法获取网站的上下文内容,然后通过getByTitle方法来获取先前创建的list对象。在加载所有对象是可能引起延迟或性能下降。最后我们通过异步加载成功时调用OnSuccess()方法,失败是调用OnFail() 方法。
结论
ECMAScript是基于javascript的客户端脚本语言,SharePoint 2010中支持使用ECMAScript来调用客户端对象模型。用户能在SharePoint 2010的Aspx页面中使用ECMAScript,即使在没有VS或者SharePoint Designer的情况下,也能轻松调用的SharePoint中的内容并加入复杂的web services。
转载于:https://www.cnblogs.com/hayden/archive/2011/04/13/2014719.html
SharePoint 2010 客户端对象模型使用 ECMAScript相关推荐
- Sharepoint学习笔记 –架构系列—Sharepoint的客户端对象模型(Client Object Model)
前面过了一下Sharepoint的服务器端对象模型,接下来就让我们大致看看Sharepoint的客户端对象模型(Client Object Model: Client OM). 首先需要了解的就是Sh ...
- Sharepoint学习笔记 –架构系列—12 Sharepoint的客户端对象模型(Client Object Model)
前面过了一下Sharepoint的服务器端对象模型,接下来就让我们大致看看Sharepoint的客户端对象模型(Client Object Model: Client OM). 首先需要了解的就是Sh ...
- sharepoint 2010 记录管理 对象模型
首先说一下什么是记录管理:这里有详细的说明 在 网站设置->网站集管理->网站集功能 中启用 "现场记录管理" 启用现场记录管理后在 网站管理 中多了2个功能" ...
- 了解 SharePoint 2010 开发中的关键点
**摘要:**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点. 上次修改时间: 2012年3月13日 适用范围: Business Connect ...
- SharePoint 2010 整合Sil“.NET研究”verlight 4应用 - 任务管理
SharePoint 2010可以与Silverlight实现紧密集成.不管是在浏览器中运行的Silverlight程序还是单独的一个Silverlight程序,都能与SharePoint 2010实 ...
- SharePoint 2010开发实例精选——通过客户端对象模型删除页面上的Web部件
下面的例子是在控制台应用程序中使用客户端对象模型,为了在控制台程序中使用ClientContext,我们需要添加两个dll引用到我们的项目中.Microsoft.SharePoint.Client.d ...
- SharePoint 2010中的客户端模型
1.介绍 客户端模型是SharePoint 2010才提供的,可以更灵活的在任何客户端设备中操作SharePoint对象,在2007版本中没有客户端模型,2010中有三种客户端模型JavaScript ...
- MOSS 2010:Visual Studio 2010开发体验(16)——客户端对象模型
转载自:http://www.cnblogs.com/chenxizhang/archive/2010/04/26/1721653.html 上一篇,我们讲到了LINQ to SharePoint.它 ...
- SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板
WCF Data Services是SharePoint 2010中一个极具吸引力的新特性.然而,因为它的强大,直接对其进行编程仍然会有点痛苦.幸运的是,一个新的相关技术 -- ASP.Net AJA ...
最新文章
- 怎样实现前端裁剪上传图片功能
- SCCM 2007系列1 安装前的准备
- linux网络编程二:基础socket, bind, listen, accept, connect
- 自写网站阶段之:终结篇
- DM6467T开发板领航——dmai经验谈
- [LeetCode]Basic Calculator
- AliRTC 开启视频互动 “零计算” 时代
- 今天是个特殊的日子,养活我的Java爸爸诞生,发送一波福利!
- poj 3080 Blue Jeans kmp+枚举
- OC中的字符串转换为C中的字符串
- javashop多用户商城系统源码
- 信息系统项目的可行性研究报告
- 深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)
- 快速获取网站媒体资源方法
- ZooKeeper session has been expired
- 微信号名称乱码什么情况_微信号注册为什么要辅助验证?
- 密歇根大学新进展:AI+可穿戴设备,20秒检测儿童内化障碍
- 淘宝直播接口分析!!! 测试!!!
- 直播app源代码,Http方式请求网络
- 一般人我都不告诉他们
热门文章
- 优化大数据分析的五个小技巧
- C++算法学习(力扣:402. 移掉K位数字)
- 前端ajax怎么样遍历list_五大前端小白入门时最容易掉的坑,可得提防点!
- java tar压缩工具类_分享apache的commons-compress的TarUtils压缩工具类对文件数据进行加解密、解析及格式化校验等操作...
- AI智能内容创作的几个方面
- 基于Scikit-Learn进行命名实体识别和分类
- [postgresql]postgresql的锁介绍
- [NLP]OpenNLP词形还原器(Lemmatizer)的使用
- Mysql自定义Sequence-实现序列自增功能
- 注解Annotation