2012-10-02 29 views
5

Tôi có danh sách nơi lưu trữ các URL hình ảnh và tôi đang cố đọc danh sách các mục và hiển thị hình ảnh trên trang. Cho rằng tôi đã viết kịch bản một cái gì đó như dưới đây ....Đọc các mục danh sách Sharepoint 2010 mô hình đối tượng khách hàng

<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> 

Trong truy vấn CAML của tôi, tôi đang cố gắng để lọc các mục mà được gắn thẻ có cho "Neo?" (Yes/no cột).

Nhưng tôi thấy tất cả kết quả mặc dù tôi đã gắn thẻ một số mục không hiển thị. Những gì tôi đang làm sai ở đây. Xin ai giúp tôi. Ngoài ra, sau khi các hình ảnh được tải trên trang, trang vẫn hiển thị bánh xe như thể nó đang xử lý một cái gì đó. Tôi có cần phải làm điều gì đó cho việc này không?

+1

+1 câu hỏi hay/mẫu hợp lý. Lưu ý phụ về chất lượng câu hỏi: không cần thêm lời cảm ơn (upvote/accept/comment) và chữ ký vì nó hiếm khi thêm giá trị vào bài đăng. –

+1

kiểm tra truy vấn caml của bạn bằng cách sử dụng U2U Caml Builder –

+1

Tôi đã viết truy vấn bằng cách sử dụng trình tạo u2u và truy vấn trả về kết quả phù hợp khi tôi thực thi nó ở đó. Tôi không chắc chắn tại sao cùng một truy vấn không hoạt động từ Mô hình đối tượng khách hàng. – user346514

Trả lời

1

Xóa các thẻ Query khỏi truy vấn CAML được lưu trữ trong myQueryString. Các thẻ được thêm vào ngầm khi truy vấn được chạy.

Nó cũng đã được chuyển cho tôi trước đây. Điều ngớ ngẩn về nó là truy vấn sẽ không bao giờ thất bại hoàn toàn; đôi khi nó hoạt động, đôi khi nó không, làm cho nó một nỗi đau để gỡ lỗi.

+0

Cảm ơn CBono. Tôi đã thử những cách khác nhau và nó đã không thực sự làm việc ra ngoài. Tôi đang sử dụng webpart Dataview ngay bây giờ. Cho đến nay nó đã cho tôi đầu ra mà tôi muốn. Tôi sẽ mở rộng nó để có được kết quả mong muốn hơn. – user346514

3

thử này một:

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

trong trường hợp nếu nó không làm việc cho bạn, hãy làm theo các bước tiếp theo:

  1. Tạo một cái nhìn danh sách sử dụng các chức năng tiêu chuẩn.
  2. Mở nó tại SharePoint Designier và chỉ sao chép truy vấn CAML từ mã.

Hy vọng điều này sẽ hữu ích.

0

Tôi thấy rằng nếu bạn chỉ sử dụng dấu nháy đơn trong truy vấn CAML của bạn, nó sẽ hoạt động. Việc trộn các dấu nháy kép và đơn sẽ làm tăng truy vấn vì một số lý do. Hy vọng rằng sẽ giúp.

Các vấn đề liên quan