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]