zoukankan      html  css  js  c++  java
  • SharePoint 2010 ECMAScript客户端模型简单示例

      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

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

  • 相关阅读:
    面试中遇到递归算法题别慌--常见递归算法题的解题思路
    Xml日志记录文件最优方案(附源代码)
    linux下源码安装软件
    文本比较算法Ⅴ——回顾贴,对前面几篇文章的回顾与质疑
    从内存中直接运行PE程序
    谈谈Linux内核驱动的coding style
    【全面解禁!真正的Expression Blend实战开发技巧】第六章 认识ListBox
    玩转C链表
    麻省理工《C内存管理和C++面向对象编程》笔记---第一讲:认识C和内存管理
    Dll注入技术之输入法注入
  • 原文地址:https://www.cnblogs.com/jianyus/p/2370166.html
Copyright © 2011-2022 走看看