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

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

  • 相关阅读:
    ActiveMQ消息队列的使用及应用
    Spring的事务配置详解
    Spring容器与SpringMVC容器的区别与联系
    理解java的三大特性之多态
    构造方法是静态还是非静态?
    java 中类初始化,构造方法,静态成员变量,静态块的加载顺序
    window.onerror的总结
    git 合并分支到master
    swiper实现匀速无缝滚动
    针对vue中请求数据对象新添加的属性不能响应式的解决方法
  • 原文地址:https://www.cnblogs.com/jianyus/p/2370166.html
Copyright © 2011-2022 走看看