在 SharePoint 上查找信息路径表单的当前视图名称



我在 SharePoint 网站上有一个多视图InfoPath表单。我需要使用 C# 从表单的当前视图生成 PDF。我已经做了很多搜索,但到目前为止还没有答案。

非常感谢您的意见。

如果您使用的是 InfoPath 2010 ,则可以使用 java 脚本查找当前视图的名称。在呈现的页面中,有一个名为"CurrentFormData.g_objCurrentFormData"的数组变量,用于保存当前表单查看器的数据。

找到查看器的客户端名称(例如:ctl00_PlaceHolder1_XmlFormView1),然后使用该名称读取数据。例如:

CurrentFormData.g_objCurrentFormData[ctl00_PlaceHolder1_XmlFormView1]

这是一个数组本身,其中第 9 个元素是当前视图的名称。

CurrentFormData.g_objCurrentFormData[ctl00_PlaceHolder1_XmlFormView1][9]

阅读该内容,将其存储在可以在服务器端读取的隐藏服务器端输入字段中。

不过,此解决方案是黑客。如果Microsoft决定将该值存储在其他位置,则此代码将无法正常工作。

如果它不是基于浏览器的表单,则可以从与表单关联的 C# 代码中执行此操作

this.CurrentView.Export(@"c:tempYourForm.pdf", ExportFormat.Pdf);

您还可以打印为 Infopath 2010 及更高版本中内置的 PDF。

或者,您可以使用ITextSharp之类的东西生成PDF。

最新更新