首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

类型“System.DateTime”的对象无法转换为类型“System.String”。该如何解决

2012-04-02 
类型“System.DateTime”的对象无法转换为类型“System.String”。调用微软工作流的一个方法:Liststring stat

类型“System.DateTime”的对象无法转换为类型“System.String”。
调用微软工作流的一个方法:


  List<string> stateList = dbAccess.GetStateByUser(userId);
  List<string> ownerStateList = dbAccess.GetOwnState();

  //加载持久化的工作流
  foreach (SqlPersistenceWorkflowInstanceDescription desc in WorkflowMgr.CurrentWorkflowRuntime.GetService<SqlWorkflowPersistenceService>().GetAllWorkflows())
  {
// WorkflowInstance workflowInstance = WorkflowMgr.CurrentWorkflowRuntime.GetWorkflow(desc.WorkflowInstanceId);

  //查看当前用户是否有权限处理该状态,如果可以,则加入到用户待处理的列表中
  StateMachineWorkflowInstance smwi = new StateMachineWorkflowInstance(WorkflowMgr.CurrentWorkflowRuntime, desc.WorkflowInstanceId); //就在这里提示,但是这里没有DATETIME型的对象啊,最郁闷的是,我在本机上调试时没问题的,放到服务器上发布就出了问题。
if (stateList.Contains(smwi.CurrentStateName))
  {
  try
  {
  ExpenseData expenseData = dbAccess.GetExpenseDataByInstanceID(smwi.InstanceId);
   

  expenseData.Url = dbAccess.GetUrlbyCurrentState(smwi.CurrentStateName);
  expenseData.Runstate = smwi.CurrentStateName;
   
  if ( expenseData != null )
  {
  expenseDataList.Add(expenseData);
  }
  }

  catch
  { }
  }
  else if (ownerStateList.Contains(smwi.CurrentStateName))
  {
  //需要自己处理的流程
  ExpenseData expenseData = dbAccess.GetExpenseDataByInstanceID(smwi.InstanceId);
  expenseData.Url = dbAccess.GetUrlbyCurrentState(smwi.CurrentStateName);
  expenseData.Runstate = smwi.CurrentStateName;

  if (expenseData.User == userId && expenseData != null )  
  {
  expenseDataList.Add(expenseData);
  }
  }
  }

  return expenseDataList;

[解决办法]
如果代码相同,是不是服务器和本地的.net版本不一致导致的?

热点排行