vs2010 开发自定义Activity问题,请高手指点

mjlwq 2011-09-28 05:06:00
小弟最近研究研究sharepoint 工作流 ,需将同一任务分配给多人,查看微软CSDN,需运用replicator Activity实现,前提是先创建自定义Activity。于是小弟参照 http://msdn.microsoft.com/en-us/library/hh128696.aspx 进行自定义Activity的创建。

创建结果如连接中Figer1.custom activity图所示

代码如下:

public SPTask()
{
InitializeComponent();
}

public Guid workflowId = default(System.Guid);
public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();
public Guid createTaskId = default(System.Guid);
public SPWorkflowTaskProperties createTaskProperties = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();

private bool IsComplete;
public string AssignTo { get; set; }
public DateTime DurTime { get; set; }
public string TaskTitle { get; set; }
public string Desc { get; set; }
public int TaskType { get; set; }


private void createTask_MethodInvoking(object sender, EventArgs e)
{
createTaskId = Guid.NewGuid();
createTaskProperties.AssignedTo = AssignTo;
createTaskProperties.Description = Desc;
createTaskProperties.DueDate = DurTime;
createTaskProperties.Title = TaskTitle;
createTaskProperties.StartDate = DateTime.Now;
createTaskProperties.PercentComplete = 0;
createTaskProperties.TaskType = TaskType;

}
private void IsOk(object sender, ConditionalEventArgs e)
{
e.Result = !IsComplete;
}

private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e)
{
string CompleteStatu = createTaskProperties.ExtendedProperties["CompleteFlag"].ToString();

IsComplete = bool.Parse(CompleteStatu);
}

private void completeTask1_MethodInvoking(object sender, EventArgs e)
{
OutCome = "任务已完成";
}

public string OutCome = default(System.String);


现在主要问题:

1、onTaskChanged1_Invoked()这个方法不是在用户提交任务时触发,而是在创建任务时就触发了,请问该如何设置,实现用户提交任务时触发该方法。

2、同样的任务提交页面,管理员可以正常显示,而普通用户就提示如下:

值不能为空。
参数名: item
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentNullException: 值不能为空。
参数名: item

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[ArgumentNullException: 值不能为空。
参数名: item]
Microsoft.Office.Workflow.ListPage.SimpleNameFromItem(SPListItem item) +146
Microsoft.Office.Workflow.WrkTaskIPPage.OnLoad(EventArgs ea) +2215
System.Web.UI.Control.LoadRecursive() +66
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428


请高手指点,不甚感激~~~
...全文
189 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haibo_zhang2010 2012-02-10
  • 打赏
  • 举报
回复
onTaskChanged1_Invoked()这个方法不是在用户提交任务时触发,而是在创建任务时就触发了,请问该如何设置,实现用户提交任务时触发该方法

你好 能告诉我下这个问题是如何解决的?谢谢 QQ:376849455
hqpy 2011-11-08
  • 打赏
  • 举报
回复
很明显,管理员可见,而普通用户报错,那肯定是权限问题,你在读取、操作列表数据时,提升一下权限应该就可以了!
mjlwq 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yun_liang1028 的回复:]
public SPWorkflowTaskProperties onTaskChanged1_AfterProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public SPWorkflowTaskProperties onTaskChanged1_BeforeProperties1 = ne……
[/Quote]

这个问题已经解决,后面个值不能为空。参数名: item还请大牛们帮忙哦~~
Oo云 2011-09-29
  • 打赏
  • 举报
回复
public SPWorkflowTaskProperties onTaskChanged1_AfterProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public SPWorkflowTaskProperties onTaskChanged1_BeforeProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();

private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e)
{
onTaskChanged1_AfterProperties1 = onTaskChanged1.AfterProperties;
onTaskChanged1_BeforeProperties1 = onTaskChanged1.BeforeProperties;
}
你需要先用这中方式 绑定任务属性
在用
onTaskChanged1_AfterProperties1.ExtendedProperties[“”].ToString();
就可以读出值了
但前提是你的任务列表有这个栏,并且这个栏是有值的。
mjlwq 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 foxdave 的回复:]
错误信息很详细了
你调用得有问题
[/Quote]
哥,能具体点么?为什么用管理账户就能正确加载,用普通账户就有问题呢?
Justin-Liu 2011-09-29
  • 打赏
  • 举报
回复
错误信息很详细了
你调用得有问题
mjlwq 2011-09-28
  • 打赏
  • 举报
回复
怎么没有人理财呢?大牛们,帮帮忙啊~~~
内容概要:本文围绕基于深度学习分类的时相关MIMO信道递归CSI量化技术展开研究,提出一种结合深度学习模型的递归式信道状态信息(CSI)反馈优化方法。该方法针对无线通信系统中时变MIMO信道的特点,利用深度学习网络对信道时序特征进行有效提取与分类,实现高精度、低开销的CSI量化与反馈,从而提升大规模MIMO系统的频谱效率与传输性能。研究不仅涵盖了算法设计与模型构建,还提供了完整的Matlab代码实现,便于验证与复现,适用于现代高性能无线通信系统的优化需求。; 适合人群:具备通信系统理论基础、熟悉MIMO与信道反馈机制,并掌握Matlab编程技能的研究生、科研人员及从事5G/6G通信、智能信号处理与深度学习在通信中应用的工程技术人员。; 使用场景及目标:①研究MIMO系统中基于深度学习的CSI反馈压缩与重建技术;②探索时序信道建模与递归量化机制的深度融合方法;③复现并改进现有算法,支撑高水平学术论文撰写或通信系统原型开发。; 阅读建议:建议读者结合提供的Matlab代码逐模块调试,深入理解深度学习分类网络与时序递归量化策略的协同工作机制,重点关注特征提取、分类决策与量化更新等关键环节的设计逻辑,并可尝试迁移至不同信道模型或引入更先进网络结构以进一步提升性能。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨 - LinyuLoveTJ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧