Sharepoint 2010 使用InfoPath表单Web部件显示现有表单(不是新表单)

Sharepoint 2010 使用InfoPath表单Web部件显示现有表单(不是新表单),sharepoint-2010,infopath,infopath-forms-services,infopath2010,Sharepoint 2010,Infopath,Infopath Forms Services,Infopath2010,InfoPath表单web部件可用于填写已发布的InfoPath表单(新实例)。我想使用web部件打开一个已经填写好的表单进行一些修改。这可以实现吗(使用此web部件或任何其他解决方案) 此要求背后的原因是我希望在我的页面、内容编辑器、查询字符串过滤器和InfoPath web部件中有多个web部件。我想用它们以某种模式/视图打开表单(新的或现有的) 编辑 我会尽量简化: 1-我有一个保存在SharePoint库中的InfoPath表单。表单有多个视图。 2-使用类似的URL,我希望打开表单my

InfoPath表单web部件可用于填写已发布的InfoPath表单(新实例)。我想使用web部件打开一个已经填写好的表单进行一些修改。这可以实现吗(使用此web部件或任何其他解决方案)

此要求背后的原因是我希望在我的页面、内容编辑器、查询字符串过滤器和InfoPath web部件中有多个web部件。我想用它们以某种模式/视图打开表单(新的或现有的)

编辑
我会尽量简化:
1-我有一个保存在SharePoint库中的InfoPath表单。表单有多个视图。
2-使用类似的URL,我希望打开表单myForm-20110613.xsn并切换到View3


如何实现这一点(最好不编写任何代码)?

您可以通过web部件连接实现这一点。观看以下视频了解详细信息:

我已经使用自定义应用程序ASPX页面完成了此操作。该页面有一个Iframe,我将其src设置为查看URL,如下所示

private void SetIFrameSource_View(HtmlControl frame, string libraryName, string formName)
{
    string formServerPage = "http://servername/_layouts/FormServer.aspx";
    string xmlLocation = string.Format("/{0}/{1}", libraryName, formName);
    string source = "http://servername/SitePages/Home.aspx";
    frame.Attributes["src"] = string.Format("{0}?XmlLocation={1}&Source={2}&DefaultItemOpen=1", formServerPage, xmlLocation, source);
}

您使用的是什么版本的InfoPath?使用2013,您可以在无条件打开表单时插入规则,并将操作“切换视图”添加到您喜欢的视图中

点击数据 模板荷载 新的 添加操作
切换视图(选择视图)。

创建页面,添加InfoPath表单Web部件并保存页面。不要为Web部件配置任何属性(库名称或内容类型)。导航到包含现有InfoPath表单位置的页面。例如,


如果您想在视图中动态生成此url,请点击此链接。

嘿,您找到解决方案了吗?我也面临同样的问题。我怎样才能做到这一点?你为此做了什么?不,没有现成的解决方案。您可以做的是解析查询字符串并重定向到另一个URL,然后使用InfoPath表单的加载事件来读取所需的视图。对于给定的URL,您需要将其更改为
http:///_layouts/FormServer.aspx?XmlLocation=&DefaultItemOpen=1&view=View3
并读取“代码隐藏”中视图查询字符串的值。很抱歉投了反对票,但视频与我打算做的事情无关。我想打开现有InfoPath表单并切换到视图。您是否观看了整个视频?第二部分介绍如何将列表视图连接到InfoPath表单web部件。您单击列表视图中的某个项目,它将在web部件中打开。我已经知道,但我想要的是直接打开InfoPath表单,而无需将其与列表链接。给定一个类似于我在问题中指定的URL,我需要直接打开InfoPath表单实例。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效。