首页 > 代码库 > Create Custom Modification Form In VS 2012-Part2

Create Custom Modification Form In VS 2012-Part2

1.SPWorkflowModification ContextData is XMLSerialized as String.

2.Get SPWorkflowModification ContextData in modification page

  protected void GetContexData()
        {
            SPWeb currentWeb = SPContext.Current.Web;
            string strWorkflowInstanceId = Convert.ToString(Request["WorkflowInstanceID"]);
            string strModificationId =Convert.ToString(Request["ModificationID"]);
            string strListId = Convert.ToString(Request["List"]);
            SPWorkflow currentWorkflow = new SPWorkflow(currentWeb, new Guid(strWorkflowInstanceId));
            if (currentWorkflow!=null)
            {
                SPWorkflowModification currentModification = currentWorkflow.Modifications[new Guid(strModificationId)];
                txt_context.Text = currentModification.ContextData;
            }
        }

3.Update SPWorkflowModification ContextData in modification page

    SPWeb currentWeb = SPContext.Current.Web;
            string strWorkflowInstanceId = Convert.ToString(Request["WorkflowInstanceID"]);
            string strModificationId = Convert.ToString(Request["ModificationID"]);
            string strListId = Convert.ToString(Request["List"]);
            SPWorkflow currentWorkflow = new SPWorkflow(currentWeb, new Guid(strWorkflowInstanceId));
            if (currentWorkflow != null)
            {
                currentWeb.AllowUnsafeUpdates = true;
                SPWorkflowModification currentModification = currentWorkflow.Modifications[new Guid(strModificationId)];
                currentWeb.Site.WorkflowManager.ModifyWorkflow(currentWorkflow, currentModification, "111;222;333;444;555;666;777;");
                SPUtility.Redirect("WrkStat.aspx", SPRedirectFlags.UseSource, Context);
                currentWeb.AllowUnsafeUpdates = false;
            }
            else
            {
                //SPUtility.Redirect("WrkStat.aspx", SPRedirectFlags.UseSource, Context);
            }

 

4.Get SPWorkflowModification ContextData in Workflow

  workflowProperties.Workflow.Modifications[SPWorkflowModificationId]