2017-09-12 6 views
1

私はこのテーマでは新しいですが、私はたくさん検索します。だから私の問題は、私は私のアプリでListItemを作成し、必要なフィールドを設定すると、すべての問題は、すべての大丈夫です。私はSharepoint Onlineに行くと、適切なフィールドを持つリスト内のListItemを見ることができます。しかし、ListItemをクリックすると、フィールドは空になり、ページの上部に「オブジェクト参照はオブジェクトのインスタンスに設定されていません」というエラーが表示されます。私のコードの問題が起こっているのか、Sharepointの設定に問題があるのか​​分かりません。私は今ここまでのガイドのほとんどを見て、今のところ行く。下の私のコード。Sharepoint C#でListItemを作成するクライアントオブジェクトモデルを使用

 SP.List targetList = ctx.Web.Lists.GetByTitle("Documents"); 

     ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation(); 
     ListItem newListItem = targetList.AddItem(itemCreateInfo); 

     newListItem["Title"] = "Test_title"; 
     newListItem["EAN_x0020_k_x00f3_d"] = "AnotherCodeWhichIsRequired"; 
     newListItem.Update(); 

     string strFilePath = @"PathToMyPDF"; 

     byte[] bytes = System.IO.File.ReadAllBytes(strFilePath); 

     using (System.IO.MemoryStream mStream = new System.IO.MemoryStream(bytes)) 
     { 
      SP.AttachmentCreationInformation aci = new SP.AttachmentCreationInformation(); 
      aci.ContentStream = mStream; 
      aci.FileName = System.IO.Path.GetFileNameWithoutExtension(strFilePath); 

      newListItem.AttachmentFiles.Add(aci); 

      newListItem.Update(); 
      ctx.ExecuteQuery(); 
     } 

答えて

0

ドキュメントライブラリを使用しているようです。使用しているコードは、共有リスト用です。あなたの迅速な対応のための

string strFilePath = @"PathToMyPDF"; 
FileCreationInformation newFile = new FileCreationInformation(); 
newFile.Content = System.IO.File.ReadAllBytes(strFilePath); 
newFile.Overwrite = true; 
SP.List targetList = ctx.Web.Lists.GetByTitle("Documents"); 
Microsoft.SharePoint.Client.File uploadFile = targetList.RootFolder.Files.Add(newFile); 
ctx.Load(uploadFile); 
ctx.ExecuteQuery(); 

uploadFile.ListItemAllFields["Title"] = "Test_title"; 
uploadFile.ListItemAllFields["EAN_x0020_k_x00f3_d"] = "AnotherCodeWhichIsRequired"; 
uploadFile.ListItemAllFields.Update(); 

ctx.ExecuteQuery(); 
+0

感謝を:ライブラリを文書化し、そのプロパティを更新し、以下のようにコードを変更し、ファイルをアップロードするには

。私は、私が添付ファイル付きのSharepointリストを使用していることをかなり確信しています。私が言ったように、私はそれを作成することができたが、私がクリックすると、空のフィールドとエラー[メッセージ](https://imgur.com/a/zav2f)が表示されます – Peter

+0

私はあなたのコードを試して、 'EAN_x0020_k_x00f3_d'はどんなタイプのフィールドですか? –

+0

こんにちは@GautamShethこの問題に参加していただきありがとうございます。**テキスト**タイプにすぎません。問題は、私がコードからlistItemを作成すると誰にも関係ないと思います。私がオンラインで作成したとき、listItemはログに記録されたユーザーに関連しています。しかし、** microsoft.sharepoint.client.fieldlookupvalue **型のユーザーフィールドを編集しようとすると、readonlyフィールドなので、できません。 – Peter

関連する問題