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

  本文版權歸 霖雨和博客園共有,歡迎轉載,但請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM