在本篇文章中,将与大家分享如何将一个带有托管代码(manage code)的InfoPath2007表单模版发布到SharePoint Server2007的表单库中,并使得最终用户可以通过浏览器方式访问。

1.         创建InfoPath表单模版

在这里,我们使用VSTO2005与InfoPath2007。生成带有托管代码的InfoPath表单模版有两种方法:

l 方法一:首先,用InfoPath定制表单模版,包括数据源、视图等。当需要使用托管代码来实现表单的后台逻辑操作的时候,通过VSTO2005建立InfoPath表单项目,然后使用之前创建好的模板。这种方法适用于表单模版数据项比较多,视图比较复杂的场景。

l 方法二:直接通过VSTO2005建立InfoPath表单项目,在统一的VS.net环境中生成表单模版的数据源、视图等部分。此种方法适用于表单模版数据项比较少,视图比较简单的场景,因为InfoPath的用户使用体验不是特别好。

在这里,我们使用方法二。

a)         创建InfoPath项目。

 
选择“InfoPath表单模版”,为项目命名为“IPFromBrowser”

 
如果需要使用已有的InfoPath表单模版,那么您需要在此处选择左边“基于现有表单模版创建项目”的“导入”。这里,我们选择“设计新的:”-〉“表单模版”基于“空白”。因为我们需要创建一个可以在浏览器端使用的表单模版,所以,一定要选上最下方的“仅启用浏览器兼容性功能”。选择“确定”。

a)         设计InfoPath表单模版:

开发界面如下:

如果没有看到InfoPath设计器的部分,可以通过如下操作添加,选择“视图-〉设计任务”:

 
选择“设计任务-〉数据源”,然后,选择“添加域或组…”

我们将此节点命名为“textbook”.并将其作为“文本框”展示给最终用户;

 
选择左侧的“工具箱”,将按钮拖至设计界面:


双击“按钮”,为按钮编写click事件:
 
选择“编辑表单代码”:


  我们的应用场景是,点击“按钮”,上面的文本框显示“hello onion!”。代码如下:


调试编写的项目,成功!

 
a)         为表单模版发布做准备:信任级别及证书

选择“工具”-〉“表单选项”

在“表单选项”中选择“安全和信任”:

因为在表单中使用了代码,所以在“安全级别”方面,要去掉“自动确定安全级别(推荐)”,而选择“完全信任”:

与此同时,因为表单有代码,而且安全级别设置为“完全信任”,相应的,“表单模版签名”要选择“为此表单模版签名”。在此处,可以使用其它公司的认证、签名。在这个演示中,我们使用windows自己的证书。即选择“创建证书”:

 
点击“选择证书”,选中需要的证书后,点击“确定”:
  然后,点击“确定”退出。

保存项目。

1.         发布InfoPath表单模版

现在,我们开始发布InfoPath表单项目了。如果表单中没有代码,那您可以非常方便的把模版发布到文档库中。如果有了代码,那就只能有一种方式,就是需要管理员审批。原理是,表单作者将表单库发布到SharePoint上,其实是把表单发布到一个管理员可以访问到的地方(比如网络共享服务器)。管理员需要将表单模版上传到管理中心的“管理表单”,确定将表单在“网站集”激活、可用。最后,管理员,需要在“网站集”上激活相应的表单模版。

这样的过程虽然非常复杂,但是对于管理员维护表单模版非常方便。将模版的使用及开发、审核分开。

a)         表单模版设计者发布表单模版到SharePoint服务器。

下面,我们就开始介绍如何发布InfoPath表单模版:

可以选择“生成”-〉“发布”,也可以在“设计任务”中选择“发布表单模版”,为了保险起见,您还可以运行“设计任务”中的“检查设计方案”看模板是否有问题。

选择“具有或不具有InfoPath Forms Services的SharePoint服务器(S)”:

输入需要发布表单模版的sharepoint地址:

点击“下一步”,在这个页面中,一定要保证选中“使用户可以通过浏览器填写此表单”,否则无法完成后续的发布工作。


选择“下一步”,在这个页面中,列出了“指定此表单模版的位置和文件名”,其实就是需要您填写,希望把表单发布在什么位置供管理员审核、上载,同时,将工程文件打包成一个InfoPath表单模版.xsn文件,该文件中包含了VSTO生成的.dll代码。

选择“浏览”:


放在服务器上的文件,我们仍命名为“IPFromBrowser”:


选择“下一步”,在此处,您可以添加InfoPath表单模版中的结点,作为显示在SharePoint表单库的列。

选择“下一步”:


点击“发布”。


选择“关闭”。至此,表单创建者的工作完成了(在生产环境中,表单创建者需要告知管理员需要发布的表单模版包括模板存放的网络位置)。

a)         管理员上载表单模版,并审批、激活表单。

管理员打开“SharePoint 3.0管理中心”:


        

选择“应用程序管理”:


选择“InfoPath Forms Services”的“管理表单模版”:


在此处,您可以看到所有管理表单,选择“上载表单模版”:


选择“浏览”,选择刚才发布到网络服务器上的InfoPath表单:


选择“打开”:


在此,您可以选择“验证”,来检查表单模版的问题:


点击“确定”:

重新选择InfoPath表单模版,点击“上载”:


表单模版上载成功,点击“确定”:


在“管理表单模版”页面,您可以看到刚刚上载的表单模版“IPFromBrowser”:


点击表单模版旁的下拉箭头,选择“激活到网站集”:


在这里,您可以选择激活位置(也就是你需要使用该表单模版的位置)。点击“确定”。

下面,我们来激活网站集上的表单模版。

进入SharePoint门户网站:

选择“网站操作”-〉“网站设置”-〉“修改所有网站设置”:



选择“网站集管理”下面的“网站集功能”:


此时,您可以注意到,我们刚刚激活的表单模版IPFromBrowser处于“停用”状态,点击“激活”:


此时,该表单模版发布成功,已经可以使用了。下面,我们就将发布成功的表单模版部署到表单库。

1.         将InfoPath表单模版部署到表单库

a)         在SharePoint门户网站上建立表单库

打开主页:


点击“网站操作”-〉“查看所有网站内容”:


选择“创建”:


选择“库”下面的“表单库”:


为表单库命名,其他值保持默认值,点击“创建”:


点击“设置”-〉“表单库设置”:


选择“常规设置”中的“高级设置”:


在“内容类型”部分的“是否允许管理内容类型”,选择“是”;同时,将“启用了浏览器的文档”部分的“打开启用了浏览器的文档”,选择“显示为网页”(否则,表单模版会以客户端的方式打开):


其他值保持默认值,点击“确定”:


b)         将InfoPath表单模版部署到表单库

继续在上一页面中操作:


在内容类型部分,您会看到“从现有网站内容类型添加”的链接,点击:


在“可用网站内容类型”处,选择我们需要部署的表单模版“IPFromBrowser”,将它添加到“要添加的内容类型”:


点击“确定”。

至此,InfoPath表单的开发、发布、部署就完成了。让我们来测试一下:

回到“IPFromBrowser”表单库:


选择“新建”-〉“IPFromBrowser”:


 

 
  转载自:李婷 2007/1/11

源代码下载:InfopathDemoFile

转载于:https://www.cnblogs.com/lygx/archive/2009/09/15/1567349.html

带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)相关推荐

  1. 将含有自定义代码的Infopath模板发布到Sharepoint表单库中

    最近一好友通过msn曰:"ocean最近没有写点什么?".想想也确实应该写点什么了.从实际的项目经验来说,也确实有很多东西可以写,至少也能写个小册子,但是始终没有静下心来写.上次去 ...

  2. InfoPath 系列:表单的发布与共享

    上一篇中我们简单的介绍了如果快速创建一张表单,今天继续介绍表单的共享与发布. 先来回顾一下上一篇中创建的表单: 就是这个了,在INFOPATH中有以下几种发布或共享的方式. 1.发布至网络位置或文件共 ...

  3. [MOSS开发]:带托管代码的infopath2007表单创建, 发布,应用

    目的:这两天我在学习MOSS中关于infopath的内容,多少遇到了些问题,下面总结下我的学习心得,希望新手们能够少走弯路,快速入门. infopath2007简单说明: infopath servi ...

  4. JEECG 3.6 自定义表单版本发布,智能快速开发平台

    JEECG 3.6(智能快速开发平台) 自定义表单版本发布 平台介绍: JEECG(J2EE Code Generation),一款基于代码生成器的JAVA快速开发平台,集成强大代码生成器和在线开发机 ...

  5. .NET5.0 单文件发布打包操作深度剖析

    .NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...

  6. 表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)

    表单及数据提交: 表单的作用: 用于收集相关信息:html中有专门提交数据的标签,可以很容易的收集用户输入的信息,这个标签有两个重要的属性:action表单提交的地址和method以什么方式提交表单, ...

  7. 『ExtJS』表单(一)常用表单控件及内置验证

    几点说明 关于ExtJS的表单,我打算分为三个部分来写 常用表单控件及内置验证 -- 这里主要是JS代码 表单行为与Asp.NET页面的消息回复 -- 这里既有JS代码,与有C#代码,我主要是使用As ...

  8. dede自定义表单html,织梦自定义表单制作在线订单详细解说

    第一步首先你要知道自定义表单的后台界面在哪里截图 第二步添加自定义表单 我选择完全公开就是说访客提交的时候他们也是可以看到我们的自定义信息的 数据表 模板根据你的模板自定义即可 我们先look下 下面 ...

  9. 「创新场景50」年度最佳场景实践榜单重磅发布

    ▎我们认为当前数字化转型的最佳颗粒度是"场景". 数字化是什么?怎样开始?怎样做好? 一千个观众眼中有一千个哈姆雷特,看似很简单的问题却找不到标准答案. 在经济粗放发展阶段,市场红 ...

最新文章

  1. Postman发送请求时带上登录信息
  2. (pytorch-深度学习系列)pytorch实现线性回归
  3. 沣西新城大数据产业园:打造大数据全生态链
  4. Oracle日期操作函数
  5. 解决IIS占用CPU和内存大的问题
  6. Maven安装配置及在idea中配置
  7. SetupFactory 制作软件安装包使用详解
  8. logistic回归分析优点_逻辑回归算法的优缺点
  9. python itchat_Python itchat模块在微信上的
  10. 前端面试需要准备什么?
  11. css单行和多行超出内容省略(注意字母数字的换行)
  12. 嵌入式C语言编程规范
  13. 卫春芳计算机基础视频,第一章 计算机基础知识.pptx
  14. 建站过程中如何防止被骗
  15. 一个免费、快速好用的汉语拼音离线翻译工具
  16. 人工智能基础之数学符号篇
  17. 角速度与rpm两者如何转换
  18. 【正点原子MP157连载】第十五章 窗口门狗(WWDG)实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  19. 湖南省公务员考试计算机专业,湖南公务员考试专科专业分类目录_学科指导目录...
  20. 车流量与人流量AI检测算法在智慧城市中的应用

热门文章

  1. 在VS2005中使用添加变量向导十分的
  2. 02:Kubernetes集群部署——平台环境规划
  3. 【跃迁之路】【651天】程序员高效学习方法论探索系列(实验阶段408-2018.11.24)...
  4. 本科毕设论文——基于Kinect的拖拉机防撞系统
  5. activiti 5.22的demo运行
  6. Android软件安全与逆向分析之Dalvik
  7. Apache下PHP Loaded Configuration File None 解决方法
  8. Ubuntu 修改默认的PDF打开方式
  9. 数据科学家编程能力需要多好_我们不需要这么多的数据科学家
  10. c++运行不出结果_fastjson 不出网利用总结