上一篇文章中已经介绍过在Visual Studio 2010开发的工作流中使用Custom Task Edit Page,但实际情况中,一个工作流可能包含多个task,因此我们需要使用多个custom task edit page。此时,将不再需要'Workflow'元素的'TaskListContentTypeId'属性。

项目文件结构如图(本人依旧比较懒,没有改文件的默认名称):

对了,上一篇文章中忘了说明,这些custom task edit page是通过添加'Application Page'生成的。

列表结构很简单,新建一个'Custom List',然后新建五个字段'Director','Manager' -- User类型,'Director Comment','Manager Comment' -- Text类型,'Expense Account' -- Number类型。

Workflow的Elements.xml文件如图:

该流程模拟一个审批流程,如果'Expense Account'的大于1000时,不需要Director进行审批,直接由Manager进行审批;若Director拒绝后,流程直接结束。

工作流的设计视图如下:

具体内容可以参考源代码。

 

Summary

此例子的需要注意以下几点:

1. 使用'CreateTaskWithContentType'活动;

2. HashTable的key值不能包含空格;