LoadingEventArgs.InputParameters, propriété

Obtient une interface IDictionary contenant les /InputParameters spécifiés à l'aide de l'option de ligne de commande ou à l'aide des paramètres de requête dans une URL ou l'une des méthodes NewFromFormTemplateWithInputParameters.

Espace de noms :  Microsoft.Office.InfoPath
Assembly :  Microsoft.Office.InfoPath (dans Microsoft.Office.InfoPath.dll)

Syntaxe

'Déclaration
Public MustOverride ReadOnly Property InputParameters As IDictionary(Of String, String)
    Get
'Utilisation
Dim instance As LoadingEventArgs
Dim value As IDictionary(Of String, String)

value = instance.InputParameters
public abstract IDictionary<string, string> InputParameters { get; }

Valeur de la propriété

Type : System.Collections.Generic.IDictionary<String, String>
Interface IDictionary contenant des paramètres d'entrée.

Exceptions

Exception Condition
InvalidOperationException

Une méthode qui a tenté d'écrire dans l'objet IDictionary contenant des paramètres d'entrée a été appelée.

Remarques

Les paramètres d'entrée représentent une ou plusieurs paires nom/valeur séparées par le caractère & (et commercial) et spécifiées lors de l'ouverture d'un modèle de formulaire à partir de la ligne de commande ou d'un fichier de commandes à l'aide de l'option de ligne de commande /InputParameters. Les paramètres d'entrée peuvent être également spécifiés à l'aide de paramètres de requête lors de l'ouverture d'un modèle de formulaire à partir d'une URL.

Notes

Même si un objet IDictionary est normalement en lecture/écriture, InfoPath interdit les appels aux méthodes qui écrivent dans l'objet IDictionary (par exemple les méthodes Add ou Clear). Toute tentative d'appel visant à écrire dans un objet IDictionary renvoyé par la propriété InputParameters génère une exception InvalidOperationException.

Ce membre est accessible uniquement par les formulaires qui s’exécutent dans le même domaine que le formulaire ouvert ou par les formulaires qui disposent d’autorisations valables pour plusieurs domaines.

Ce type ou ce membre est accessible à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler ou dans un navigateur Web.

Exemples

Dans l'exemple de code suivant, le modèle de formulaire InfoPath contenant le code de gestionnaire d'événements Loading est ouvert à partir de la ligne de commande ou à l'aide d'une URL avec la syntaxe suivante.

Ligne de commande :

infopath.exe "C:\User Forms\DeptReport.xsn" /InputParameters "Dept=Accounting&Acct=Contoso"

URL :

https://server/sites/team/forms/DeptReport.xsn?Dept=Accounting&Acct=Contoso

Autrement, vous pouvez ouvrir le nouveau formulaire et passer les paramètres d'entrée du code à l'aide de la méthode NewFromFormTemplateWithInputParameters(String, String) de la classe XmlFormCollection, de la méthode NewFromSolutionWithInputParameters(String, String) de l'interface ExternalApplication ou de la méthode NewFromSolutionWithInputParameters(Object, Object) de XDocumentsCollection.

Notes

Les deux dernières méthodes sont destinées à être utilisées à partir du code d'automation externe et ne peuvent pas être appelées à partir du code du formulaire.

La propriété InputParameters est utilisée à partir d'un gestionnaire d'événements Loading afin d'affecter au champ Department la valeur « Accounting » et au champ Account la valeur « Contoso » à l'ouverture du formulaire. Les paires nom/valeur qui spécifient les valeurs peuvent être passées comme paramètres d'entrée à l'aide de l'option de ligne de commande /InputParameters, du paramètre d'entrée d'URL ou de la méthode NewFromFormTemplateWithInputParameters(String, String).

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   // Be sure that the InputParameter dictionary contains
   // values before proceeding.
   if (e.InputParameters.Count != 0)
   {
      string vDept = e.InputParameters["Dept"];
      string vAcct = e.InputParameters["Acct"];

      XPathNavigator myNav = CreateNavigator();
      myNav.SelectSingleNode("/my:myFields/my:Department",
         NamespaceManager).SetValue(vDept);
      myNav.SelectSingleNode("/my:myFields/my:Account",
         NamespaceManager).SetValue(vAcct);
   }
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
   ByVal e As LoadingEventArgs)
   ' Be sure that the InputParameter dictionary contains
   ' values before proceeding.
   If e.InputParameters.Count <> 0 Then
      Dim vDept As String = e.InputParameters("Dept")
      Dim vAcct As String = e.InputParameters("Acct")

      Dim myNav As XPathNavigator  = CreateNavigator()
      myNav.SelectSingleNode("/my:myFields/my:Department", _
         NamespaceManager).SetValue(vDept)
      myNav.SelectSingleNode("/my:myFields/my:Account", _
         NamespaceManager).SetValue(vAcct)
   End If
End Sub

Voir aussi

Référence

LoadingEventArgs Classe

LoadingEventArgs, membres

Microsoft.Office.InfoPath, espace de noms