zoukankan      html  css  js  c++  java
  • 在InfoPath 2010中利用ServerInfo类实现相对URL

    本文将为你介绍InfoPath对象模型中的一个新成员,“ServerInfo”类。对于发布到SharePoint服务器上的InfoPaht表单来说,该类的成员可以为你提供相应网站的上下文。有关这个新类的文档可以在这里找到。

    在下面的例子中,我将演示如何利用该类的成员在你的表单中以相对URL的方式提交数据。这样,我们就能把一个网站集打包成一个WSP,并移动到新服务器上了。由于是相对地址,所以移动后提交所使用的数据连接也会自动指向新服务器。

    初始设置:

    为了确保我们的的表单模板无论是在迁移前还是迁移后都能正确的关联到我们的SharePoint表单库,我将其发布为一个内容类型(http://office.microsoft.com/zh-cn/infopath-help/create-a-sharepoint-library-or-site-content-type-for-your-form-template-HA010103005.aspx)。将表单以网站内容类型的方式发布为沙箱解决方案是InfoPath 2010的一个新功能。

    然后,我将该内容类型关联到适当的SharePoint 表单库上。步骤如下:

    1、新建一个表单库。配合下面的代码,这里取名为SubmittedTimeCards

    2、打开刚创建好的表单库

    3、打开位于功能区中库标签下的库设置。

    4、打开“高级设置”并将“是否允许管理内容类型”选为“是”。

    5、在“内容类型”一节中选择“从现有网站内容类型中添加”。

    6、添加刚刚你发布到SharePoint服务器上的内容类型。

    为方便用户操作,最好是将其设置为默认内容类型。

    例子:

    对应上一篇中船舶租赁表单,其提交按钮的代码如下:

            public void FormEvents_Submit(object sender, SubmitEventArgs e)
            {
    
                FileSubmitConnection fileSubmit = (FileSubmitConnection)this.DataConnections["SharePoint 库提交"];
                fileSubmit.FolderUrl = this.ServerInfo.SharePointSiteUrl.ToString() + "SubmittedTimeCards/";
                fileSubmit.Execute();
    
                // 如果提交操作成功,则设置
                e.CancelableArgs.Cancel = false;
                // 在此处编写代码。
            }
    

    这样一来,就可以在不同的网站中使用该表单了。因为其数据源地址是一个相对文件夹。

    以下为在Search子网站中的表单库里新建:

    点提交后:

    以下是同一个内容类型,在根网站的表单库中新建并提交后:

    这就是相对URL带来的好处。

    希望对你有帮助!

    参考资料

    Using Relatives URLs with the ServerInfo Class in InfoPath 2010

    Introduction to Sandboxed Solutions-Sort data in repeating tables using managed code

  • 相关阅读:
    关于需求转化的事情
    自由邮件的配置
    广告数据关联CS后台数据
    向新同事学习,如何配置邮件
    渠道映射等关系
    机器学习基本概念
    家政业务系统常识
    SAP APO
    SAP Web Dynpro
    SAP Web Dynpro-监视应用程序
  • 原文地址:https://www.cnblogs.com/Sunmoonfire/p/1794109.html
Copyright © 2011-2022 走看看