天天看點

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的時候,一定要注意拼寫!!!血的教訓,因為調試起來非常不友善,是以第一遍寫的時候,就要仔細。

  

SharePoint 2010 ECMAScript用戶端模型簡單示例

  <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寫的很簡單,希望大家不要見笑,如果有好的建議或者意見,希望大家給我留言,歡迎讨論。

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

繼續閱讀