您的位置:首页 > 运维架构

[InfoPath]如何在可在浏览器中打开的InfoPath表单中获取Url参数

2011-01-27 22:00 435 查看
在MSDN论坛上看到一位朋友问了这个问题,其实这是一个很普遍的需求,所以决定写这篇小Tip,希望可以帮到更多的朋友。

要在InfoPath中获取Url参数是非常简单的,首先让我们来创建一张可在浏览器中打开的表单。





在这个表单中加入了两个字段,并且用文本框控件予以展示。接着在工具菜单中选择编程,创建一个Loading事件。





在表单的Loading事件中通过LoadingEventArgs参数的InputParameters属性就可获得我们通过Url向其传递的参数了,下面是本例中的代码。

public void FormEvents_Loading(object sender, LoadingEventArgs e)

{

// 获取Url参数。

string m_parameter1 = e.InputParameters["field1"];

string m_parameter2 = e.InputParameters["field2"];

XPathNavigator m_mainNod = this.MainDataSource.CreateNavigator();

XPathNavigator m_field1 = m_mainNod.SelectSingleNode("/my:myFields/my:field1", this.NamespaceManager);

XPathNavigator m_field2 = m_mainNod.SelectSingleNode("/my:myFields/my:field2", this.NamespaceManager);

m_field1.SetValue(m_parameter1);

m_field2.SetValue(m_parameter2);

}


[/code]
最后来看下效果,通过下面这个Url打开表单。

http://myserver/_layouts/FormServer.aspx?XmlLocation=/GetUrlParameters/GetUrlParameter.xml&Source=http%3A%2F%2Fwei%2Dc679b2ee201%2FGetUrlParameters%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1&field1=ww3128&field2=FromUrl




好了,就是如此简单,在此还是想说InfoPath真的是非常不错的一个工具,尤其是当其与SharePoint结合在一起使用时,可以使我们的开发工作更加简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: