如何在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参数时这么做
我们通过邮件中的链接 "采购申请单 - 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);
}
}
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模板再哪里定制呢。。。
msn: pccai1983@hotmail.com