1

メタデータを含むドキュメントがフォルダ内にない場合、以下のコードは問題なく動作します。ドキュメントがドキュメントライブラリのフォルダに置かれるとすぐに、私はwhile (enumerator.moveNext()) {の後に動作を停止します。console.logをコード内の別々の行に置きました。これが応答を停止するポイントです。javacriptクライアントオブジェクトモデルのフォルダ内のSharePoint内のドキュメントからメタデータを取得できません

私はviewitem.aspxという新しいdispform.aspxを作成しました。このjsファイルは、メタデータを取り出してページの別のdivに表示するためにリンクされています。以下

コードです:

function getBody() { 
    var context = new SP.ClientContext("https://xxx.sharepoint.com/sites/xxx"); 
    var list = context.get_web().get_lists().getByTitle('Docs'); 
    JSRequest.EnsureSetup(); 
    var listItemId = GetUrlKeyValue("ID"); 
    var item = new SP.CamlQuery(); 
    item.set_viewXml("<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>" + listItemId + "</Value></Eq></Where></Query></View>"); 
    returnedItemsBE1 = list.getItems(item); 
    context.load(returnedItemsBE1); 
    context.executeQueryAsync(onSucceededCallbackBE1); 
     } 
     function onSucceededCallbackBE1() { 
      var enumerator = returnedItemsBE1.getEnumerator(); 
      while (enumerator.moveNext()) { 
       var listItem = enumerator.get_current(); 
       var tmbod = listItem.get_item('TmBody'); 
       var tmfile = listItem.get_item('TmAttachmentTitle'); 
       var tmId = listItem.get_item('TmTransID'); 
       var tmfileurl = 'https://xxx.sharepoint.com/sites/xxx/Docs/'+tmId+'_'+tmfile; 
       document.getElementById("fileLink").href = tmfileurl; 
       document.getElementById("fileLink").innerText = tmfile ;          
       var bdiv = document.getElementById("bodyDiv"); 
       bdiv.innerHTML = tmbod; 
        }           
       }        

`

私はURLが変更されると、私は、フォルダ内にあるアイテムがすべての違いを作ることができる方法を見つけ出すことはできませんが、オンラインのSharePoint 2013を使用していますそれでもファイルIDなどが含まれています...

私は検索して検索しましたが、これについての参照は見つかりませんでした。

答えて

0

Viewタグで試してみてください。それ以外の場合は、指定されたディレクトリ内のファイルのみを取得します。

  • デフォルト(与えられていない範囲):現在のフォルダ内のファイルやフォルダを検索:

  • すべての現在のフォルダ内のすべてのファイルを取得

    item.set_viewXml("<View Scope='Recursive'><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Number'>" + listItemId + "</Value></Eq></Where></Query></View>"); 
    

    は4つのビューのスコープがあります

  • 再帰:現在のフォルダとそのサブフォルダ、サブフォルダなどのファイルを取得します。

  • RecursiveAll:再帰と同じですが、サブフォルダも取得します。

視覚的説明がうまくいく場合は、handy pageが見つかりました。

+0

賢い、ありがとう! – OllieSP

関連する問題