本文主要介绍SharePoint 2013中,简单发布InfoPath表单,并添加后台代码,示例比较简单,主要描述的是一个创建InfoPath的过程,而非多么深奥的后台代码,希望能够给初学者带来帮助。

主要过程有

Ø  新建一个InfoPath表单

Ø  修改表单的信任级别并添加证书

Ø  发布到InfoPath得到管理员认证

Ø  设计InfoPath布局及添加控件,在代码中编辑,添加表单功能

Ø  发布表单到SharePoint文档库

Ø  修改文档库支持内容类型,并添加InfoPath表单的内容类型

详细的创建过程

1、 打开InfoPath Designer,选择空白表单,可以看到右侧描述,发布到SharePoint或者网络位置,我们要发布到网络位置,然后上传到SharePoint表单库;

2、 新建以后,如下图:

  之后我们修改表单的标题,然后在右侧添加域,之后再拖动至表单中间,当然我们可以选择插入 – 表格进行布局;

3、下面就是添加域,如下图:

4、添加域的名称,如下图:

5、添加表格进行布局,然后拖动Name到表格里,如下图:

6、然后点击文件 – 信息,高级表单选项,修改信任级别和证书:

7、表单选项,选择安全和信任,如下设置,如果没有证书,可以创建:

8、选择发布,发布表单至SharePoint库,如下图:

9、选择SharePoint网站的位置,中间如果弹框,需要管理员账号,目的准备此表单以供管理员核准,如下图:

10、点击下一步,看到提示需经管理员核准,所以之前弹出需要管理员账号;

11、指定模板的位置,发布核准后的表单到计算机上,如下图:

12、选择桌面,保存为infopath.xsn文件,如下图:

13、添加列,也就是Name,选择下一步:

14选择发布,即把经过网站认证的模板,发布到物理路径下了:

15、发布成功,该表单已经可以在浏览器中使用了,只需上传到SharePoint服务器:

16、管理中心,上载表单模板(一般应用程序设置),先点击验证:

17、发现验证通过,可以上传了:

18、上载成功,如下图:

19、在该模板的下拉列表中,选择激活到网站集(激活后,会在网站集功能里多一个功能),如下图:

20、激活表单模板页面,选择激活位置,点击确定即可:

21、回到infopath.xsn表单,点击开发工具,代码编辑器,如下图:

22、点击完代码编辑器,会弹出Visual Studio界面,如下图:

23、回到InfoPath模板,点击开发工具,添加OnLoad事件,如下图:

  鼠标放在选择的事件上,会有提示,说明这个事件是做什么用的,在什么情况,我们应该使用该事件;

24、查看VS代码里,会多一个事件,如下图:

25、添加一个按钮,如下图:

  接下来,我们可以右键菜单,选择添加按钮的代码;我们也可以添加其他的控件,用来读取或者展示我们的数据;

  同时,在myFields中的Name上,右键可以复制xPath值,在表单代码中获取或者设置控件值的时候,都是需要的,也就是后面类似“/my:myFields/my:Name”这样的;

26、在按钮上右键,按钮属性,修改ID,点击编辑表单代码:

27、发现VS里多一个事件,可以在事件里添加我们的代码;我只是测试表达发布,写了个简单的代码,就是把一行string类型,输出到Name域里面,如下图:

28、更新模板的时候,可能会弹出版本号相同的问题,报错,下面有解决方法:

29、更新模板的版本号,可以手动修改下表单选项中,版本控制的版本号,即可(强烈建议,版本号按照规律一点点来,不要乱写,便于管理):

30、创建一个测试的文档库,作为表单发布使用,如下图,选择库设置:

31、启用内容类型管理,如下图:

32、添加内容类型,如下图:

33、添加我们的表单,Publish:

34、修改默认的内容类型,把我们的设置为默认:

35、可以看到新建文档里面,有了我们发布的模板,点击试试:

36、点击Publish,弹出我们的表单,说明配置成功:

  我这里只是一个简单的测试表达,你可以试着开发推动工作流的,或者完成其他功能的表单,只要你需要;

37、点击“按钮”,发现按钮的代码执行了,如下图:

  将“这是一条测试数据…”输出到Name域的控件里面了;

38、后来尝试了调用一下SharePoint的对象模型,把Web.Title输出来了,如下图:

  接下来,可以试试更复杂的SharePoint展示,或者,写一个SharePoint功能表单,都是可以的,但是,InfoPath的弱点在于控件比较少,不够灵活,这样区别于SharePoint页面。

39、输出Web.Title简单的代码截图,如下图:

  InfoPath表单在SharePoint中,有着挺重要的作用,看到的有收集xml信息,推动工作流,而我这里只是简单的介绍了下发布InfoPath模板和编写后台代码入门。例子比较简单,希望能够给入门的人带来帮助,有兴趣的可以自己尝试。

SharePoint 2013 图文开发系列之InfoPath入门的更多相关文章

  1. SharePoint 2013 图文开发系列之入门教程

    做了SharePoint有三年了,大家经常会问到,你的SharePoint是怎么学的,想想自己的水平,也不过是初级开发罢了.因为,SharePoint开发需要接触的东西太多了,Windows操作系统. ...

  2. SharePoint 2013 图文开发系列之列表定义高级篇

    转载自  http://www.cnblogs.com/jianyus/p/3484714.html SharePoint列表库,是我们使用过程中最常用的库,下面,我们简单介绍下代码定义自定义列表,主 ...

  3. SharePoint 2013 图文开发系列之计时器任务

    SharePoint的计时器任务,又称TimerJob,由服务里的Timer服务执行,在管理中心管理,是一个类似于Windows任务计划的功能,方便定时执行一些需要的功能,以免影响服务器性能. 在Sh ...

  4. SharePoint 2013 图文开发系列之WebPart

    这是我们介绍SharePoint开发入门的第一篇,在这一篇里,我们会介绍SharePoint开发的几个关键物理路径,一些开发技巧和最基础的WebPart开发. 开发工具 在SharePoint 201 ...

  5. SharePoint 2013 图文开发系列之可视化WebPart

    有了WebPart开发的基础,再进行可视化WebPart开发,就容易多了.创建和开发过程,两者非常相似,下面,我们简单介绍下可视化WebPart的开发. 1.添加新项目,选择SharePoint 20 ...

  6. SharePoint 2013 图文开发系列之应用程序页

    在SharePoint中,有两种页面类型,一种是保存在数据库中的页面,我们可以在网站的页面库中看到:还有一种叫做应用程序页,部署在服务器上,Layouts下面的页面,是应用程序页,主要是完成特定功能的 ...

  7. SharePoint 2013 图文开发系列之Visual Studio 创建母版页

    一直以来,对于SharePoint母版页的创建,都是使用SharePoint Designer来创建和修改的,而后接触了SharePoint 2013,发现可以使用Html文件,通过设计管理器导入,然 ...

  8. SharePoint 2013 图文开发系列之事件接收器

    在SharePoint的使用中,我们经常需要在完成一个动作之后,触发一个事件:比如,我们上传一个文档,但是没有标题,我们需要在上传完成之后,触发一个事件把文件名同步到标题,这就需要用到事件接收器. 此 ...

  9. SharePoint 2013 图文开发系列之代码定义列表

    在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码 ...

随机推荐

  1. NotSupportedException-无法将类型“System.DateTime”强制转换为类型“System.Object”

    几张图就可以说明一切 2015-03-29 21:54:09,206 [77] ERROR log - System.NotSupportedException: 无法将类型“System.DateT ...

  2. LINQ系列:Linq to Object分区操作符

    分区是指将一个单一的输入序列划分成两个或多个部分或序列,同时不会对输入元素重排序,返回一个新形成的部分.LINQ分割操作符包括Skip.SkipWhile.Take和TakeWhile. 1. Ski ...

  3. WPF Datagrid删除一行

    private void btnDel_Click(object sender, RoutedEventArgs e) { if (DGUser.SelectedItem != null) { Dat ...

  4. 【原创】开源Math.NET基础数学类库使用(16)C#计算矩阵秩

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 上个月 ...

  5. Oracle内存管理技术

    1.Oracle内存管理技术 2.配置自动内存管理(AMM) 3.监视自动内存管理(AMM) 4.配置自动共享内存管理(ASMM) 5.配置自动PGA内存管理 Reference 1.Oracle内存 ...

  6. 软件工程-构建之法 理解C#一小段程序

    一.前言 老师给出的要求: 阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长 ...

  7. Anliven - 基础知识梳理汇总 - 软件测试

    基础知识梳理 - 软件测试 - 概念 基础知识梳理 - 软件测试 - 分类 基础知识梳理 - 软件测试 - 流程 基础知识梳理 - 软件测试 - 用例 基础知识梳理 - 软件测试 - 方法 基础知识梳 ...

  8. js作用域和变量提升

    Function declarations and variable declarations are always moved (“hoisted”) invisibly to the top of ...

  9. Mybatis高级查询之关联查询

    learn from:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps 关联查询 准备 关联结果查询(一对一) resul ...

  10. [Java 安全]加密算法

    Base64编码 算法简述 定义 Base64内容传送编码是一种以任意8位字节序列组合的描述形式,这种形式不易被人直接识别. Base64是一种很常见的编码规范,其作用是将二进制序列转换为人类可读的A ...