ECMAScript客户端模型,是SharePoint2010推出的三种客户端模型“.NET托管”、“ECMAScript”、“Sliverlight”的一种,今天正好看到这,尝试了下,也拿出了和大家分享下。我自己感觉,客户端模型,和sp的对象模型没有太多区别,就是用起来,更加不得心应手了。今天写了下Script的,各种不好使,各种没调试,各种郁闷,哎。怎的一个愁字了得。好了,不费话了。

  客户端对象模型的优点,就是可以在没有服务器的条件下,进行客户端编程。比如,我是一个Moss小用户,然后我还没有服务器的访问权限,我就可以用Designer了。首先、新建一个aspx页,在头部添加SP.js的引用,我们就可以在这个页上,写我们的客户端模型代码了。添加位置在顶部PlaceHolderAdditionalPageHead这个节点里面,添加<sharepoint:ScriptLink
Name="SP.js" runat="server" OnDemand="true" Localizable="False"></sharepoint:ScriptLink>的js引用。

  下面是我做的一个例子:在在页面上写上<script>,然后编写我们的js脚本就可以了,感觉语法的格式,和sp对象模型很相似,首先是打开网站,打开列表,然后找到列表项就可以了。不过,和sp对象模型还是有区别的,sp对象模型,生成了对象就可以调用里面的值了,而客户端对象模型,还需要load一下,才可以取到里面的值。大家在写js的时候,一定要注意拼写!!!血的教训,因为调试起来非常不方便,所以第一遍写的时候,就要仔细。

  我的例子写了一个GetListItem的函数,然后可以读取列表里面的项目,在点击button的时候,读取列表里面的条目,然后显示出来。代码附在后面,有兴趣的朋友,可以试一试。效果图就是下图,点击之后,下面是图中蓝框的样子。自己也是初识ECMAScript,拿出来和大家分享下,如果有哪里说的不对的地方,欢迎大家留言指正。当然,我们不可能记住每个对象的使用,我们可以访问微软的网站,来查询我们需要的对象定义的方法和变量,可以点击下面的地址http://msdn.microsoft.com/en-us/library/ee538253.aspx

  

  <script type="text/javascript">

    function getlistitem()

  {

    var mycontext=new SP.ClientContext();

    var mysite=mycontext.get_web();

    var query = new SP.CamlQuery();

  query.set_viewXml("<View><Query></Query></View>");

  var mylist=mysite.get_lists().getByTitle('MyFirstLists');

    myitem= mylist.getItems(query);

 mycontext.load(myitem);

    mycontext.executeQueryAsync(Function.createDelegate(this,this.getsuccessed),Function.createDelegate    

  (this,this.getfailed));

   }

   function getsuccessed()

   { 

     var str="";

   var listsE=myitem.getEnumerator();

   while(listsE.moveNext())

   {

    str+=listsE.get_current().get_item("Title")+"<br>";   

   }

   document.getElementById("lists").innerHTML=str;

  }

   function getfailed(sender,args)

   {

    alert("failed~!");

   }

  </script>

  <div><input value="get2" type="button" onclick="getlistitem()"/></div>

  <div id="lists"></div>

  js写的很简单,希望大家不要见笑,如果有好的建议或者意见,希望大家给我留言,欢迎讨论。

  作者:霖雨

  出处:http://www.cnblogs.com/jianyus

  本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

SharePoint2010 -- ECMAScript客户端模型简单示例的更多相关文章

  1. SharePoint 2010 -- Silverlight托管客户端模型简单示例

    Silverlight托管客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverli ...

  2. SharePoint 2010 -- .Net托管客户端模型简单示例

    .Net托管客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverlight&quo ...

  3. UDP通讯模型简单示例

    1. UDP通讯模型 2. 服务器端 ① 创建一个socket,用函数socket() ② 绑定IP地址.端口等信息到socket上,用函数bind() ③ 循环接收数据,用函数recvfrom() ...

  4. TCP通讯模型简单示例

    1. TCP通讯模型 2. 服务器端 ① 创建socket,用函数socket() ② 绑定IP地址.端口号等信息到socket上,用函数bind() ③ 设置允许的最大连接数,用函数listen() ...

  5. thrift服务端到客户端开发简单示例

    (1)首先我们在服务器端写个helloworld.thrift文件,如下所示: service HelloWorld{ string ping(1: string name), string getp ...

  6. 跨平台c++/boost/asio 简单的HTTP POST请求 客户端模型

    作为一个呼应,写一个c++版本的同步http post客户端功能,如果你需要纯C版本,移步这里 linux下纯C简单的HTTP POST请求 客户端模型 讲解一下基本的的http post协议 通过\ ...

  7. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序

    SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论   异常汇总:http://www ...

  8. web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例

    Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...

  9. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

随机推荐

  1. 【一天一道LeetCode】#303.Range Sum Query - Immutable

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 我的个人博客已创建,欢迎大家持续关注! 一天一道le ...

  2. 在javascript里 string 和 int 类型转换

    string 转换为int 类型 (1)tostring()方法 var   x=10    a   =   x.toString() //输出为string类型 alert(typeof(a)); ...

  3. python使用qq服务器发送邮件

    python使用qq服务器发送邮件 直接上代码: #!/usr/bin/python2.7 #-*- coding: UTF-8 -*- # sendmail.py # # init created: ...

  4. (NO.00004)iOS实现打砖块游戏(十六):导弹发射道具的实现(下)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇我们完成了导弹道具相关的道具制作,本篇中我们来完成其实现 ...

  5. matlab函数interp2及其c++代码

    最近将一个matlab程序转为c++,途中遇到interp2这个家伙,我是左查右查,发现网上没有人总结这个玩意,于是我来初探一下,还是别有洞天的,嘿嘿. 1.关于interp2 Vq = interp ...

  6. 防止Android程序被系统kill掉的处理方法

    转载请注明出处:http://blog.csdn.net/cuiran/article/details/38851401 目前遇到一个问题程序需要一直运行,并显示在最前端,但是运行一段时间发现会被系统 ...

  7. Android官方技术文档翻译——构建工作流

    本文译自androd官方技术文档<Build Workflow>,原文地址:http://tools.android.com/tech-docs/new-build-system/buil ...

  8. Dynamics CRM2013 Server2012R2下IFD部署遇到There is already a listener on IP endpoint的解决方法

    接上一篇继续Server2012R2的问题,因为自己先在R2上部署的IFD报错后上网查了很多资料,但毕竟R2是新出的CRM2013也是新出的,网上基本还没有相关的问题反馈,基本都是2012以前的系统版 ...

  9. java中,用json格式转换遇到问题

    将list转为JSONObject类,报 org/apache/commons/lang/exception/NestableRuntimeException是什么原因? 还需要导入这些包common ...

  10. iOS开发的10个知识点

    1.关于关键字volatile 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这 ...