如何从infopath表单获取Web上下文?

时间:2013-02-06 13:36:58

标签: c# sharepoint infopath

我有SharePoint表单库,InfoPath表单包含1个文本字段。我的问题是,我需要以某种方式获得lib。表单库的URL并将其设置为文本框f.g

string _s = this.aplication.activeForm.GetUrlOfLibrabry();

如何获取父lib URL? (表单在INFOPATH中打开而不是在浏览器中)

2 个答案:

答案 0 :(得分:1)

塞巴斯蒂安,你试过了吗?

this.ServerInfo

这将为您提供许多可以查询的方法(即SharePointListUrl等等)

答案 1 :(得分:1)

我不确定InfoPath 2007,但是对于2010年,您可以在查询字符串中使用表单库URL。我建议您执行以下操作:

  1. 在FormEvents_Loading方法中获取querystring参数。

    if(eventArguments.InputParameters.ContainsKey(“SaveLocation”)) {     var docLib = HttpUtility.UrlDecode(eventArguments.InputParameters [“SaveLocation”]); }

  2. 将Url保存在InfoPath隐藏字段中,以便稍后阅读(在本例中为_spListUrl)。

    //存储到xml数据

    XPathNavigator navigator = nav.SelectSingleNode(“my:myFields / my:_spListUrl”,NamespaceManager); navigator.SetValue(sDocLib);

  3. 我希望这会有所帮助