I have the following code that populates 3 fields on my infopath form from the querystring:
public void InternalStartup()
{
EventManager.FormEvents.Loading += new LoadingEventHandler(FormEvents_Loading);
}
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
string Partner = string.Empty;
string Lawyer = string.Empty;
string PartnerEmail = string.Empty;
try
{
e.InputParameters.TryGetValue("Partner", out Partner);
e.InputParameters.TryGetValue("Lawyer", out Lawyer);
e.InputParameters.TryGetValue("PartnerEmail", out PartnerEmail);
}
catch (Exception ex)
{
Partner = ex.Message.ToString();
Lawyer = ex.Message.ToString();
PartnerEmail = ex.Message.ToString();
}
finally
{
MainDataSource.CreateNavigator().SelectSingleNode("//my:PartnerResponsible", NamespaceManager).SetValue(Partner);
MainDataSource.CreateNavigator().SelectSingleNode("//my:LawyerDealing", NamespaceManager).SetValue(Lawyer);
MainDataSource.CreateNavigator().SelectSingleNode("//my:PartnerEmail", NamespaceManager).SetValue(PartnerEmail);
}
}
At the moment I get an error when opening an already populated form as the querysrting values are only supplied to the form if it is a brand new form. How can I stop this running if the form is already populated or the querysting parameters does not exist.
Thanks
Jeni