簡體   English   中英

Sharepoint 2010 以編程方式啟動工作流錯誤

[英]Sharepoint 2010 start workflow programmatically error

我有一個與內容類型相關的工作流。 我嘗試從事件接收器中相同內容類型的代碼中啟動它,因此當更新項目時,如果存在特定條件(狀態 = 准備審查),我將啟動它。

//這一行確實找到了工作流關聯

var assoc = properties.Web.ContentTypes["Experiment Document Set"]
         .WorkflowAssociations.GetAssociationByName("Experiment Review Workflow",
          ultureInfo.CurrentUICulture);

//我曾嘗試使用我在網上找到的東西中的這一行,但它會返回 null

assoc = properties.Web.WorkflowAssociations
     .GetAssociationByName("Experiment Review Workflow",
      CultureInfo.CurrentUICulture);

下一行給出了一個錯誤:

var result = properties.Web.Site.WorkflowManager
                       .StartWorkflow(properties.ListItem, assoc,string.Empty,
                                      SPWorkflowRunOptions.Synchronous);

System.ArgumentException:工作流無法啟動,因為工作流與列表中不存在的內容類型相關聯。 在重新啟動工作流之前,必須將內容類型添加到列表中。

為了檢查這一點,我正在查看正在更新的列表項的內容類型,它是正確的

properties.ListItem.ContentType.Name    "Experiment Document Set"

所以基本上我有一個與內容類型“實驗文檔集”相關聯的工作流。 當我嘗試從“實驗文檔集”中的事件接收器啟動工作流時,我收到一條錯誤消息,指出列表中不存在沒有意義的內容類型“實驗文檔集”。

確保 assoc.Enabled = true。

可能為時已晚,無法提供幫助,但我剛剛了解到您不能在StartWorkflow方法中使用String.Empty (或null )。

http://www.tonytestasworld.com/post/Howto-Start-a-Sharepoint-Workflow-Programmatically.aspx看來, assoc.AssociationData可以用於沒有任何配置參數的簡單工作流。

我(還)無法對此進行測試,因為我提前了一步,可能類似於您在前兩個代碼示例中提到的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM