2016-07-28 46 views
1

我已在Visual Studio中创建Sharepoint批准2010工作流程。Sharepoint批准工作批准批准按钮

如果用户点击批准或拒绝按钮,我该如何捕捉?

private void createTaskWithContentType1_MethodInvoking(object sender, EventArgs e) 
    { 
     createTaskWithContentType1_ContentTypeId1 = "0x01080100C9C9515DE4E24001905074F980F93160003A15057E2AF34B67B32E14B94EB70409"; 


     createTaskWithContentType1_TaskId1 = Guid.NewGuid(); 
     createTaskWithContentType1_TaskProperties1.AssignedTo = workflowProperties.Web.SiteAdministrators[0].LoginName; 
     createTaskWithContentType1_TaskProperties1.DueDate = DateTime.Now.AddDays(1.0F); 
     createTaskWithContentType1_TaskProperties1.Title = "Approval Required for xx"; 
     createTaskWithContentType1_TaskProperties1.Description = "Specify the approval result here."; 

     SPList taskList = workflowProperties.TaskList; 

}

private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e) 
    { 

//我想在这里,我必须以某种方式做:如果按钮点击批准其他....如果拒绝按钮点击 }

回答

1

您是否制作您的自定义任务表单?或OOTB任务表单。如果是自定义,则可以直接从自定义任务表单(在保存按钮上)设置值。如果它是OOTB,则必须编辑任务表单并添加javscript或JQuery以获取保存按钮单击。

它会提示你是否点击保存按钮。的SharePoint开箱即用的任务列表形式

function PreSaveItem(){ 
// add other your codes 
if(value == 'confirm'){ 
    return true; // allow save form... 
} 

return false; // not allow save form 
// use return true; if confirm or return false... 
} 

的更多信息,请访问以下链接 https://sharepoint.stackexchange.com/questions/117147/how-to-trigger-the-click-event-of-the-sharepoint-ootb-lists-new-form-save-butto

2

我找到了解决方案

private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e) 
     { 
      string taskStatus = onTaskChanged1.AfterProperties.ExtendedProperties["TaskStatus"].ToString(); 

ExtendedProperties [ “TaskStatus”]将返回批准或拒绝

ExtendedProperties中还有更多属性,但您需要转到调试模式才能看到它们。

+0

你是对的。你必须在AfterProperties和ExtendedProperties中检查你的值。您可以从Microsoft获得有关任务活动的完整示例:[从SharePoint 2010工作流创建多个任务](https://msdn.microsoft.com/zh-cn/library/office/hh128696(v = office.14).aspx ) – Nico