5

画像の URL を保存しているリストがあり、アイテムのリストを読み取ってページに画像を表示しようとしています。そのために、以下のようなスクリプトを書きました....

<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 クエリでは、"Anchor?" (yes/no column) に対して yes とタグ付けされたアイテムをフィルタリングしようとしています。

しかし、表示しない項目をいくつかタグ付けしたにもかかわらず、すべての結果が表示されています。ここで私が間違っていること。誰か助けてください。また、画像がページにロードされた後も、ページは何かを処理しているかのようにまだホイールを表示しています。このために何かをする必要がありますか?

4

3 に答える 3

3

これを試してください:

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

それがうまくいかない場合は、次の手順に従ってください。

  1. 標準機能を使用してリストビューを作成します。
  2. SharePoint Designierで開き、コードからCAMLクエリをコピーするだけです。

これがお役に立てば幸いです。

于 2012-10-18T13:17:33.063 に答える
1

Queryに保存されている CAML クエリからタグを削除しますmyQueryString。タグは、クエリの実行時に暗黙的に追加されます。

私も前につまずいたことがあります。それについての陰湿な点は、クエリが完全に失敗することは決してないということです。うまくいくこともあればうまくいかないこともあり、デバッグが面倒です。

于 2012-10-05T16:23:40.843 に答える
0

CAML クエリで単一引用符のみを使用すると、機能することがわかりました。二重引用符と一重引用符を混在させると、何らかの理由でクエリがジャッキアップします。それが役立つことを願っています。

于 2012-12-19T15:31:57.077 に答える