2017-08-23 15 views
0

"Documents"リストで選択したファイルの名前をtitleという文字列に割り当てる必要があるSharePointアドインを作成しようとしています。SharePointオンラインアドインで 'Title'フィールドの初期化エラーが発生しました

protected void Page_Load(object sender, EventArgs e) 
    { 

     var spContext = SharePointContextProvider.Current.GetSharePointContext(Context); 

     int listItemID; 

     listItemID = GetListItemIDFromQueryParameter(); 

     using (var clientContext = spContext.CreateUserClientContextForSPHost()) 
     { 
      clientContext.Load(clientContext.Web, 
      web => web.Title, 
      web => web.CurrentUser, 
      web => web.Lists); 

      List doclist = clientContext.Web.Lists.GetByTitle("Documents"); 
      Microsoft.SharePoint.Client.ListItem item = doclist.GetItemById(listItemID); 

      string title = item.File.Title; 
     } 
    } 

機能GetListItemIDFromQueryParametr();意図どおりに動作します - 選択したファイルのID int値を返します。私はそのIDでファイルの名前を取得したいと思います。次のコードは、エラーを返します。

Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException: 'プロパティまたはフィールド' Title 'が初期化されていません。要求されていないか、要求が実行されていません。明示的に要求される必要があるかもしれません。

私は現在、このフィールドを初期化する方法を理解しようとしていますが、今まで私を助けてくれるものは見つかりませんでした。すべての手がかりは非常に高く評価されるだろう。

答えて

0

あなたのリストアイテムはまだロードされていません。 csomでプロパティを読み取るには、Webを読み込んだ方法など、読み込む必要があります。また、ロードしていないクエリを実行する必要があります。

clientContext.ExecuteQuery();あなたが悪いの書式設定のためのdo list

謝罪を初期化する行の後、私はモバイルデバイス

によ追加
関連する問題