ECMAScript是基于javascript的客户端脚本语言,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

  1. 创建一个列表名为Product然后添加一些记录。
  2. 在页面库中创建一个ASPX 测试页面。
  3. 添加内容编辑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相关推荐

  1. Sharepoint学习笔记 –架构系列—Sharepoint的客户端对象模型(Client Object Model)

    前面过了一下Sharepoint的服务器端对象模型,接下来就让我们大致看看Sharepoint的客户端对象模型(Client Object Model: Client OM). 首先需要了解的就是Sh ...

  2. Sharepoint学习笔记 –架构系列—12 Sharepoint的客户端对象模型(Client Object Model)

    前面过了一下Sharepoint的服务器端对象模型,接下来就让我们大致看看Sharepoint的客户端对象模型(Client Object Model: Client OM). 首先需要了解的就是Sh ...

  3. sharepoint 2010 记录管理 对象模型

    首先说一下什么是记录管理:这里有详细的说明 在 网站设置->网站集管理->网站集功能 中启用 "现场记录管理" 启用现场记录管理后在 网站管理 中多了2个功能" ...

  4. 了解 SharePoint 2010 开发中的关键点

    **摘要:**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点. 上次修改时间: 2012年3月13日 适用范围: Business Connect ...

  5. SharePoint 2010 整合Sil“.NET研究”verlight 4应用 - 任务管理

    SharePoint 2010可以与Silverlight实现紧密集成.不管是在浏览器中运行的Silverlight程序还是单独的一个Silverlight程序,都能与SharePoint 2010实 ...

  6. SharePoint 2010开发实例精选——通过客户端对象模型删除页面上的Web部件

    下面的例子是在控制台应用程序中使用客户端对象模型,为了在控制台程序中使用ClientContext,我们需要添加两个dll引用到我们的项目中.Microsoft.SharePoint.Client.d ...

  7. SharePoint 2010中的客户端模型

    1.介绍 客户端模型是SharePoint 2010才提供的,可以更灵活的在任何客户端设备中操作SharePoint对象,在2007版本中没有客户端模型,2010中有三种客户端模型JavaScript ...

  8. MOSS 2010:Visual Studio 2010开发体验(16)——客户端对象模型

    转载自:http://www.cnblogs.com/chenxizhang/archive/2010/04/26/1721653.html 上一篇,我们讲到了LINQ to SharePoint.它 ...

  9. SharePoint 2010中的客户端AJAX应用——ASP.NET AJAX模板

    WCF Data Services是SharePoint 2010中一个极具吸引力的新特性.然而,因为它的强大,直接对其进行编程仍然会有点痛苦.幸运的是,一个新的相关技术 -- ASP.Net AJA ...

最新文章

  1. 怎样实现前端裁剪上传图片功能
  2. SCCM 2007系列1 安装前的准备
  3. linux网络编程二:基础socket, bind, listen, accept, connect
  4. 自写网站阶段之:终结篇
  5. DM6467T开发板领航——dmai经验谈
  6. [LeetCode]Basic Calculator
  7. AliRTC 开启视频互动 “零计算” 时代
  8. 今天是个特殊的日子,养活我的Java爸爸诞生,发送一波福利!
  9. poj 3080 Blue Jeans kmp+枚举
  10. OC中的字符串转换为C中的字符串
  11. javashop多用户商城系统源码
  12. 信息系统项目的可行性研究报告
  13. 深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)
  14. 快速获取网站媒体资源方法
  15. ZooKeeper session has been expired
  16. 微信号名称乱码什么情况_微信号注册为什么要辅助验证?
  17. 密歇根大学新进展:AI+可穿戴设备,20秒检测儿童内化障碍
  18. 淘宝直播接口分析!!! 测试!!!
  19. 直播app源代码,Http方式请求网络
  20. 一般人我都不告诉他们

热门文章

  1. 优化大数据分析的五个小技巧
  2. C++算法学习(力扣:402. 移掉K位数字)
  3. 前端ajax怎么样遍历list_五大前端小白入门时最容易掉的坑,可得提防点!
  4. java tar压缩工具类_分享apache的commons-compress的TarUtils压缩工具类对文件数据进行加解密、解析及格式化校验等操作...
  5. AI智能内容创作的几个方面
  6. 基于Scikit-Learn进行命名实体识别和分类
  7. [postgresql]postgresql的锁介绍
  8. [NLP]OpenNLP词形还原器(Lemmatizer)的使用
  9. Mysql自定义Sequence-实现序列自增功能
  10. 注解Annotation