在文章中已经介绍过在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值不能包含空格;