如何在InfoPath2007中接受URL参数

    最近在InfoPath2007的工作流项目中发现给用户分配任务后由WF发送的Email通知如下:


  我们通过邮件中的链接 "采购申请单 - 2007-12-06T15_54_45.xml"  ,地址为: 
.../_layouts/FormServer.aspx?XmlLocation=DocLib1/%E9%87%87%E8%B4%AD%E7%94%B3%E8%AF%B7%E5%8D%95%20-%202007-12-06T15_54_45.xml
  嘿嘿,怎么也打不开呢,提示错误信息:
   URL DocLib1/采购申请单 - 2007-12-06T15_54_45.xml 是不受支持的相对 URL。请使用绝对 URL 或以“~sitecollection”作为前缀(适用于相对于网站集的 URL)。

 加入:“~sitecollection"也解决不了,后查询发现我们在表单中要取URL参数时这么做
public void FormEvents_Loading(object sender, LoadingEventArgs e) {
    
string customerId = string.Empty;
    
try
    
{
        e.InputParameters.TryGetValue(
"CustomerID"out customerId);
    }

    
catch (Exception ex)
    
{
        customerId 
= ex.Message.ToString();
    }

    
finally
    
{
        MainDataSource.CreateNavigator().SelectSingleNode
        (
"/my:myFields/my:projectName", NamespaceManager).SetValue(customerId);
    }

}

   e.InputParameters.TryGetValue("CustomerID", out customerId); 由此联想到给上面的连接加上参数:&openin=browser,强行从浏览器中打开, 还是不行,我们的表单放在自站点/wf/上,DocLib1/ 又不行,加上/wf/DocLib1/搞定,由此可以解决在表单中接受参数的问题,最后不知道这个Email模板再哪里定制呢。。。

posted @ 2007-12-11 23:31  pccai  阅读(765)  评论(3编辑  收藏  举报