InfoPath 2010 与 SharePoint 2010 集成(使用自定义 WCF 服务): 第二部分(共 2 部分)






4.80/5 (2投票s)
设计 InfoPath 表单以从 WCF 应用程序读取值。发布和部署 InfoPath 表单,并设置站点页面以使用 InfoPath Web 部件显示表单
- 第 1 部分: 创建 SharePoint 列表和自定义 WCF 应用程序以使用客户端对象模型读取 SharePoint 列表信息
- 第 2 部分: 设计 InfoPath 表单以从 WCF 应用程序读取值。发布和部署 InfoPath 表单,并设置站点页面以使用 InfoPath Web 部件显示表单
引言
在本教程的第 2 部分中,我们将设计 InfoPath 表单并将其部署到 SharePoint 表单库。然后,我们将把已部署的 InfoPath 表单添加到 InfoPath 表单 Web 部件的站点页面中,将其与查询字符串筛选器 Web 部件连接,并通过我们在第 1 部分中开发的 WCF 服务读取数据。
InfoPath 表单设计
- 打开 Microsoft InfoPath Designer 2010。在“文件”菜单中,选择“新建”,然后从可用模板中选择“空白表单”。保存 InfoPath 表单时,它会要求输入文件名。请记住,这将是我们 InfoPath 表单的可编辑或设计版本。我们将发布此表单,并将已发布的版本上传到 SharePoint InfoPath 库。请确保为这两个文件使用正确的命名约定,因为它们都将具有
.xsn
扩展名。 - 在“页面设计”选项卡中选择合适的布局。您可以从“插入”选项卡添加表格布局。有关 Microsoft InfoPath 2010 Designer 的更多信息,您可以访问此链接。
- 现在,我们将添加一个数据连接。要添加新连接,请在“数据”选项卡中单击“数据连接”。这将打开一个弹出窗口,单击弹出窗口中的“添加”按钮。这将启动“数据连接”向导。选择“接收数据”单选按钮,然后单击“下一步”。
- 在下一个屏幕上,选择“SOAP Web 服务”单选按钮,然后单击“下一步”。下一个屏幕将需要我们构建的 WCF 服务的 URL。(服务已部署在 ISAPI 文件夹中,并且可以在 IIS 的
_vti_bin
文件夹中找到)。如果 URL 正确且服务可访问,则下一个屏幕将显示可用的操作。选择GetProjectDetailsById
操作,然后单击“下一步”。“参数”屏幕没有值,因此单击“下一步”。我们不想在表单模板中存储数据的副本,因此单击“下一步”。取消选中“打开表单时自动检索数据”,然后单击“完成”。您可能希望将连接转换为连接文件。要了解有关连接文件的更多信息,请单击此链接。 - 在“数据”选项卡中,单击“显示字段”按钮以查看表单中可用的字段。
字段
下拉菜单现在应该有一个辅助连接。 - 现在,在“字段”下拉列表中选择“主连接”。您将看到一个名为
myFields
的组,将其重命名为更具意义的名称。我已将其重命名为ProjectManagementFields
。保持组被选中,然后单击窗口底部的“添加字段”链接。在弹出窗口中,添加将作为我们表单输入参数的字段的名称和数据类型。在此表单中,我们将ProjectId
添加到我们的主
连接中。 - 我们必须为
主
连接字段ProjectId
的更改添加规则。在此规则中,我们将查询字段
(辅助连接)的值设置为主连接列的值。接下来,我们将使用 WCF 方法检索数据。 - 现在,将辅助连接中的字段拖放到表单上。我们需要两个按钮来保存表单和关闭表单。在此部分中,我们不会为“保存”按钮添加任何功能。我们为“关闭”按钮添加一个关闭表单的规则。
InfoPath 表单发布
- 要部署 InfoPath 表单,我们首先需要发布表单。在我们开始发布表单之前,我们需要设置表单的安全性和信任级别。InfoPath 表单需要以完全信任模式运行。要设置安全性,请在 InfoPath Designer 中,转到“文件”->“信息”。在“表单信息”面板中,选择“高级表单选项”。然后从可用类别中选择“安全性和信任”。如果选中了“自动确定安全级别”,则取消选中它,然后选择“完全信任”选项。单击“确定”关闭窗口。
- 要发布表单,请在“文件”菜单中选择“发布”选项。然后单击“SharePoint 服务器”按钮。这将打开“发布”向导。向导的第一个屏幕是提供 SharePoint URL。输入站点 URL,然后单击“下一步”。在下一个屏幕上,选择允许通过浏览器填写表单的选项,然后选择“管理员批准的表单模板”选项。
- 在下一个屏幕上,浏览将要存储已发布表单的本地文件系统上的位置。确保为其指定一个与设计表单不同的名称。然后单击“下一步”。
- 在此屏幕上,我们需要提供要公开给连接的 Web 部件的参数。我们将选择“项目 ID”作为输入参数。
- 单击“下一步”,然后单击“发布”按钮。这将把表单发布到向导屏幕中提供的位置。
InfoPath 表单发布
- 要部署 InfoPath 表单,我们需要在我们的站点中有一个表单库。因此,在我们部署表单之前创建一个表单库。
- 接下来,在中央管理中,转到“常规应用程序设置”。在“InfoPath 表单服务”部分下,单击“管理表单模板”链接。这将重定向到一个窗口,我们可以在其中添加已发布的表单。请确保您具有管理员权限,因为上传表单需要农场管理员权限。
- 浏览已发布表单的位置并上传表单。
- 上传表单后,单击新添加的表单。在上下文菜单中,选择“激活到站点集”选项。这将激活上传到该站点集中的表单,并使其可作为内容类型使用。
- 现在,在表单库(在部署步骤 1 中创建)中,转到“库设置”。在页面“内容类型”部分的“内容类型”下,单击“从现有站点内容类型添加”。
- 新添加的表单将在列表框中可用。添加表单,然后单击“确定”按钮。
- 使用 SharePoint Designer,添加一个 Web 部件站点页面。在浏览器中打开表单,然后添加一个查询筛选器 Web 部件。向查询筛选器 Web 部件添加一个“
TID
”查询字符串。请确保不要添加“Id
”列,因为它在筛选器 Web 部件中不会被识别。添加另一个“InfoPath 表单 Web 部件”。 - 单击“单击此处打开工具窗格”链接以打开 InfoPath Web 部件配置设置面板。在设置面板中,选择表单库以及已添加到表单库的 InfoPath 内容类型。
- 现在连接查询字符串 Web 部件和 InfoPath 表单 Web 部件。我们已完成部署。您应该能够浏览站点页面,并通过传递正确的查询字符串参数来填充表单上的数据。