SharePoint:扩展DVWP - 第11部分:在工作流中使用更多的表单字段

本文作为扩展DVWP系列的一部分。前面我们讨论了如何创建由表单操作触发的工作流。上一篇中我们发现可以给工作流传递除表单域以外的更多信息,可以传递其他工作流变量,并在工作流中利用这些变量。

尽管表单域会自动显示在工作流中,但你可能已经注意到,有时并不是所有的域都会出现。

这是为什么呢?

获取控件

事实上,问题应该这么来表达:是什么从本质上导致了这种现象?原因是只有特定的控件会被看做是表单域,从而传递给工作流:

1、SharePoint:FieldControl

2、ASP:Label

3、ASP:TextBox

4、ASP:CheckBox

5、ASP:RadioButton

不可编辑的域默认情况下在DVWP中不会显示成一个控件。

比如,这里有一个通知列表,其中包含了一些不可编辑的字段。当我们将其包含进DVWP中,然后创建了一个编辑模板时,这些字段会以xsl:value-of标记的形式显示:

1、在设计视图中,点击右侧的尖括号图标(当鼠标移到该字段上时显示出来的)。将“格式化为”改成“标签”。

2、此时,在代码视图中发生了以下变化:

从:

<td class="ms-vb">
        <xsl:value-of select="@ContentType" />
</td>

到:

<td class="ms-vb">
	<asp:Label runat="server" id="ff2{$Pos}" text="{@ContentType}" __designer:bind="{...代码...}" />
</td>

现在,看一下工作流里的表单域,内容类型(@ContentType)已经出现在里面了:

下一次:想要访问更多数据:想要在保存前得到用户修改后的数据?在接下来的扩展DVWP系列中,我们将添加更多的表单域到该页面。

 

参考资料

SharePoint: Extending the DVWP - Part 11:Getting More Form Fields to the Workflow

posted @ 2010-08-31 21:38  Sunmoonfire  阅读(1493)  评论(0编辑  收藏  举报