В данном видео я покажу, как это сделать:
!!! Огромное спасибо моему коллеге Константину Бондарчуку за javascript, который я привожу ниже в пп.2 и 3.
Дополнительные материалы:
1. Код из формы Infopath для получения параметра ID:
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
XPathNavigator mainDS = MainDataSource.CreateNavigator();
if (e.InputParameters !=null)
{
string SPID = string.Empty;
if (e.InputParameters.TryGetValue(“ID”, out SPID))
mainDS.SelectSingleNode(“/my:моиПоля/my:System/my:ID”, NamespaceManager).SetValue(SPID);
}
}
2. Скрипт, который вставляется на страницу:
<script src=”/testsite/Scripts/jquery-1.10.2.js” type=”text/javascript”></script>
<script type=”text/javascript”>
function getParameterByName(name) {
name = name.replace(/[[]/, “\[“).replace(/[]]/, “\]”);
var regex = new RegExp(“[\?&]” + name + “=([^&#]*)”),
results = regex.exec(location.search);
return results == null ? “” : decodeURIComponent(results[1].replace(/+/g, ” “));
}
$(function () {
var id = getParameterByName(‘ID’);
var source=getParameterByName(‘Source’);
if (id != null) {
var s=”http://sitecollection/site/_layouts/FormServer.aspx?XsnLocation=http://sitecollection/site/FormLibrary1/Forms/template.xsn&OpenIn=browser&ID=”+id;
if(source!=null && source!=undefined && source!=”){
s=s+”&Source=”+source;}
else{
s=s+”&Source=http://sitecollection/site”;}
document.location.href=s;
}
else {
document.location.href = “http://sitecollection/site/_layouts/FormServer.aspx?XsnLocation=http://sitecollection/site/FormLibrary1/Forms/template.xsn&OpenIn=browser&Source=http://sitecollection/site/lists/testlist/”;
}
});
</script>