javascript
  • sharepoint
  • sharepoint-2010
  • sharepoint-api
  • 2012-10-02 173 views 5 likes 
    5

    我有一個列表,用於存儲圖像URL,我正嘗試讀取項目列表並在頁面上顯示圖像。對於我寫的劇本類似下面....讀取列表項目Sharepoint 2010客戶端對象模型

    <script type="text/javascript"> 
        function ViewItem() 
        { 
         var myQueryString = '<Query><Where><Eq><FieldRef Name="Anchor" /><Value 
    
    Type="Boolean">1</Value></Eq></Where></Query>'; 
    
         var context = new SP.ClientContext.get_current(); 
         var web = context.get_web(); 
         var list = web.get_lists().getByTitle('AnchorImageList'); 
         var myquery = new SP.CamlQuery(); 
    
         myquery.set_viewXml(myQueryString); 
    
         myItems = list.getItems(myquery); 
    
    
         context.load(myItems, 'Include(Title,ImageURL)'); 
         context.executeQueryAsync(Function.createDelegate(this, this.success), 
    
    Function.createDelegate(this, this.failed)); 
        } 
        function success() 
        { 
    
         var LinkURL= ""; 
         var ImageURL=""; 
         var ListEnumerator = this.myItems.getEnumerator(); 
         while(ListEnumerator.moveNext()) 
         { 
          var currentItem = ListEnumerator.get_current(); 
          LinkURL = currentItem.get_item('Title') ; 
          ImageURL= currentItem.get_item('ImageURL'); 
          document.write('<img src="' + ImageURL+ '"+>'); 
          alert(LinkURL); 
    
         } 
    
        } 
        function failed(sender, args) 
        { 
         alert("failed. Message:" + args.get_message()); 
        } 
    </script> 
    <a href="#" onclick="Javascript:ViewItem();">View Items</a> 
    

    在我CAML查詢我試圖來篩選標記爲是項「錨?」(是/否列)。

    但我看到所有的結果,即使我標記了幾個項目不顯示。我在這裏做錯了什麼。請有人幫助我。此外,在圖像加載到頁面上之後,頁面仍然顯示輪子,就好像它在處理某些東西。我需要爲此做點什麼嗎?

    +1

    +1好問題/合理樣本。關於質量問題的附註:不需要添加感謝的筆記(取而代之的是接​​受/接受/評論)和簽名,因爲它很少增加郵件的價值。 –

    +1

    使用U2U Caml Builder檢查您的caml查詢 –

    +1

    我只使用u2u構建器編寫查詢,並且查詢在我執行時返回適當的結果。我不知道爲什麼相同的查詢不適用於客戶端對象模型。 – user346514

    回答

    1

    從存儲在myQueryString中的CAML查詢中刪除Query標籤。查詢運行時,隱式添加標籤。

    這也讓我絆倒了。關於它的陰險之處在於,查詢不會徹底失敗;有時它有用,有時不起作用,使調試變得很痛苦。

    +0

    謝謝CBono。我嘗試了不同的方式,並沒有真正解決問題。我現在使用Dataview webpart。到目前爲止,它給了我想要的輸出。我將擴大它以獲得更多期望的結果。 – user346514

    3

    試試這個:

    <View> 
        <Query> 
        <Where> 
         <Eq> 
         <FieldRef Name="Anchor" /> 
         <Value Type="Boolean">1</Value> 
         </Eq> 
        </Where> 
        </Query> 
    </View> 
    

    的情況下,如果它不爲你工作,請按照下面的步驟:

    1. 創建使用標準功能的列表視圖。
    2. 在SharePoint Designier中打開它,並從代碼中複製CAML查詢。

    希望這會有所幫助。

    0

    我發現如果您在CAML查詢中只使用單引號,它就會起作用。混合雙引號和單引號使查詢出於某種原因。希望有所幫助。

    相關問題