使用SP服务创建sharepoint讨论板回复时无法更新ParentItemID

时间:2016-06-20 04:25:47

标签: jquery sharepoint-2013 spservices

我正在尝试使用list.asmx服务创建对Sharepoint讨论区讨论的回复,回复正在填充,但其相应的ParentItemID未获得更新。 以下是我正在使用的代码:

 var promise = $().SPServices({ 
 operation: "UpdateListItems", 
 batchCmd: "New", 
 listName: list,       
 updates: "<Batch OnError='Continue' RootFolder='" + filepath + "'>" +  
 "<Method ID='1' Cmd='New'>" + 
 "<Field Name='ContentType'>Message</Field>" + 
 "<Field Name='FSObjType'>0</Field>" + 
 "<Field Name='Body'>Great Post</Field>" +     
 "</Method>" + 
"</Batch>" 
 }); 

通常,当我们创建SharePoint UI的回复表单时,会自动填充回复的ParentItemID。 我不能使用SP.Utilities.Utility.createNewDiscussionReply方法。 必须使用REST api或list.asmx服务执行此操作。 使用REST我只能创建讨论但不能创建回复。 任何帮助将受到高度赞赏。

截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我指定&#34; ParentItemID&#34;我能够让它工作。 CAML中的字段。我还确保&#34; RootFolder&#34;属性使用&#34; FileRef&#34;为父讨论检索的字段。

var promise = $().SPServices({
    operation : "UpdateListItems",
    batchCmd : "New",
    listName : list,
    updates : "<Batch OnError='Continue'" + 
       "RootFolder='MySite/Lists/My Discussion Forum/My Discussion Title'>" +
    "<Method ID='1' Cmd='New'>" +
    "<Field Name='ContentType'>Message</Field>" +
    "<Field Name='ParentItemID'>51</Field>" + 
    "<Field Name='FSObjType'>0</Field>" +
    "<Field Name='Body'>Great Post</Field>" +
    "</Method>" +
    "</Batch>"
});