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

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

1.         创建InfoPath表单模版

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

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

方法二:直接通过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 ServicesSharePoint服务器(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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cefsharp System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。...

解决办法 安装vc 2015 Redistributable 64位系统安装x64 如果还报错先装x64版本再装x86版本 https://files.cnblogs.com/files/xuejianxiyang/vc_redist.part1.rarhttps://files.cnblogs.com/files/xuejianxiyang/vc_redist.part2.rarhttps://files.cnblogs.com/files/xuejianx…

7种常用p2p共享协议

一、Napster:第一个大型的;中央集中式;倒闭了;二、Gnutella和Gnutella2:开源的;第一个真正非中心的。Gnutella2是对Gnutella的改进和扩展。三、FastTrack:第一个客户端是KazaA。协议与Gnutella类…

c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序

一、面试题问:有一个长度为 100 的数组,如何从中随机挑选 50 个元素,组成一个新的数组?答:这个...那个...emmmmmm问:那先不挑 50 个,就挑一个数,知道怎么做吗?答&#xf…

axios+Vant+vue+jq重构jq月经周期计算器源代码(兼容移动端)

我是歌谣 代码重构不易 公众号关注小歌谣 前言 网络上流行了一款jq生成月经计算器的代码 是这样的 实现效果如图所示 本次讲解就是说明如何用VantjqVue实现此代码的重构 先看一眼重构演示的效果 这个是可以直接进行接口调用的 首先我们看一眼目录结构 我们这边贴出我自己手…

html页面高度设为自动,html – CSS:响应式布局中的高度自动问题

没有固定的正确高度.如果我在css中设置固定高度,则在响应式布局中,图像将不会以正确的宽高比调整大小.主要问题是css根据src-attribute设置的图像计算自动高度和宽高比,而不是width-和height-attribute.因此,如果有一个有宽度和高度的真实图像,一切正常.但是如果有一个空白(这只…

MVC Controller与ActionResult的返回值

Action的要求• 必须是一个公有方法• 必须返回ActionResult类型• 必须是实例方法• 不能是范型方法• 没有标注NonActionAttribute• 不能被重载(overload) Controller 提供了众多的方法让我们返回各种类型的 ActionResult。 1. View最常用的一种&…

事务处理

第13章 事务处理 事务处理是包含一个或多个任务的一组关联操作的提交或回滚操作。在事务执行的过程中,保证事务具有基本的ACID属性(原子、一致性、隔离和持久性)。.NET Framework的事务管理支持多种事务处理方式,包括显性事务和隐…

为多孔介质的当量直径_多孔介质流建模简介

拥有一款先进的多孔介质建模工具,是许多行业的刚性需求。COMSOL Multiphysics 软件 5.5 版本新增的附加产品——多孔介质流模块,可以满足众多行业的需求。使用该模块可以定量研究多孔介质中的质量、动量和能量传递。该模块适用于燃料电池、纸浆和纸张干燥…

北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验

** 这个实验我没有约到没有问题的机子(连续三台机子都是坏的...)因此仅供参考1、根据2.6中步骤3回答:TCP的连接和建立采用的是:三次握手方式,PCA是主动打开方(C),PCB是被动打开方(S)。先点击发送再点击接收,会出现什么…

python 竖线 绘图_Python可视化 | Seaborn5分钟入门(二)——barplot countplot

Seaborn是基于matplotlib的Python可视化库。 它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,不需要经过大量的调整就能使你的图变得精致。注:所有代码均在IP…

计算机网络工程综合布线目的,弱电工程综合布线系统与计算机网络布线系统有何不同?【网络综合布线】...

弱电工程的综合布线是模块化和灵活的建筑物或建筑物之间的信息传输通道。 综合配电系统可以连接到声音设备、数据设备、开关设备和各种控制设备和信息管理系统。 同时,它还使这些设备与外部通信网络连接起来。弱电工程综合布线系统与计算机网络布线系统有何不同..弱…

计算机专硕专业课单科分数线,计算机考研|这两所自划线,单科没过线也能复试?...

原标题:计算机考研|这两所自划线,单科没过线也能复试?东南、浙大!单科没过线也能复试!关注量子考研公众号,获取最新计算机考研咨询1.东南大学:统考考生(不含报考苏州联合研究生院考生和管理类联…

Saltstack_使用指南17_salt-ssh

1. 主机规划 salt 版本 1 [rootsalt100 ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [rootsalt100 ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) salt ssh文档 https://docs.saltstack.com/en/latest/topics/ssh/index.html 2. salt-ssh实现步骤 2.1. 部署s…

新手入门:AIX操作系统安装图解

AIX(Advanced Interactive Executive)是IBM 公司的UNIX操作系统,它特别适合于做关键数据处理。2002年IBM发布了AIX 5.2版。 下面就以该版本为例来介绍IBM的AIX操作系统的安装,主要介绍在IBM P630机器上如何使用AIX软件的光盘&…

华为荣耀9x怎么解账户锁_麒麟820,4000万像素,荣耀X10是下一部千元街机?

哈喽黑粉们,欢迎来到黑马公社。最近发布的新机很多,其中之一就是黑马此前和大家聊过多次的荣耀X10。这款新机于昨天5月20日发布,表现怎么样呢?今天黑马就来聊聊这款新机。和此前爆料的一样,荣耀X10采用了升降式设计&am…

关键词提取算法

1、先给本聚类内的所有文档进行分词,然后用一个字典保存每个词出现的次数;2、遍历每个词,得到每个词在所有文档里的IDF值,和在本聚类内出现的次数(TF)相乘的值;3、用一个字典(key是词,value是TF*IDF权重)来…

JavaWeb的分页

1.什么是分页 第N页/共M页 首页 上一页 1 2 3 4 5 6 7 8 9 下一页 尾页 [ ] go 分页的优点:只查询一页,不用查询所有页! 2.分页数据 页面的数据都是由Servlet传递过来的! Servlet: 1.*当前页:pageCod…

中反应器体积_缠绕管式反应器大幅提高能效,移热能力较列管式反应器提升逾50%...

武汉东海石化重型装备有限公司与中科院过程工程研究所联合开展的高效缠绕管式反应器研发课题二期研究日前结题。该研究建立了一套与不同工作原理相适应的缠绕管式反应器设计方法,使缠绕管式反应器的移热能力较列管式固定床反应器提升逾50%,可极大提高企业…

【异常(待解决)】org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respond...

一、记录下异常堆栈信息 2019-06-01 10:26:58.246 [http-nio-9850-exec-3] ERROR weixin.popular.client.LocalHttpClient - execute error org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respondat org.apache.http.impl.conn.DefaultHttpRespon…

企业内容管理-互联网应用

企业内容管理-互联网应用 当你第一次听到企业内容管理这个名字,很容易联想到ERP这种复杂无比的系统。实际上也确实如此,目前几大主要的ECM系统都是复杂无比,所以我想从互联网应用,一般网民可以使用的角度来谈谈企业内容管理。 从…