2012-10-02 10 views
5

Ho una lista in cui sto memorizzando gli URL delle immagini e sto cercando di leggere l'elenco degli elementi e di visualizzare le immagini sulla pagina. Per questo ho scritto la sceneggiatura qualcosa come di seguito ....Lettura delle voci di elenco Modello oggetto client 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> 

Nella mia interrogazione CAML che sto cercando di filtrare gli elementi che sono contrassegnati sì per "Anchor?" (Sì/no colonna).

Ma vedo tutti i risultati anche se ho taggato alcuni elementi da non visualizzare. Quello che sto facendo qui è sbagliato. Per favore qualcuno mi aiuti. Inoltre, dopo che le immagini sono state caricate sulla pagina, la pagina mostra ancora la ruota come se stesse elaborando qualcosa. Devo fare qualcosa per questo?

+1

+1 buona domanda/campione ragionevole. Nota a margine sulla qualità delle domande: non è necessario aggiungere note di ringraziamento (upvote/accept/comment) e firma poiché raramente aggiunge valore al post. –

+1

controlla la tua query caml usando U2U Caml Builder –

+1

Ho scritto la query usando solo il builder u2u e la query restituisce i risultati corretti quando la eseguo lì. Non sono sicuro del motivo per cui la stessa query non funziona da Client object Model. – user346514

risposta

1

Rimuovere i tag Query dalla query CAML memorizzata in myQueryString. I tag vengono aggiunti implicitamente quando viene eseguita la query.

Mi ha svegliato anche prima. La cosa insidiosa è che la query non fallirà mai del tutto; a volte funziona, a volte no, rendendolo un problema di debug.

+0

Grazie CBono. Ho provato diversi modi e non ha funzionato. Sto usando DataPad webpart ora. Finora mi ha dato l'output che volevo. Lo espanderò per ottenere risultati più desiderati. – user346514

3

provare questo:

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

nel caso in cui se non funziona per voi, seguire i seguenti passi:

  1. creare una visualizzazione elenco utilizzando le funzionalità standard.
  2. Aprilo a SharePoint Designier e copia semplicemente la query CAML dal codice.

Spero che questo possa essere d'aiuto.

0

Ho scoperto che se si utilizzano solo virgolette singole nella query CAML funzionerà. Mescolando le virgolette doppie e singole salta la query per qualche motivo. Spero possa aiutare.

Problemi correlati