Compartir a través de


LoadingEventArgs.InputParameters Propiedad

Definición

Obtiene un IDictionary objeto que contiene los parámetros de entrada especificados mediante la opción de línea de comandos /InputParameters, los parámetros de consulta en una dirección URL o el de los métodos NewFromFormTemplateWithInputParameters .

public:
 abstract property System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ InputParameters { System::Collections::Generic::IDictionary<System::String ^, System::String ^> ^ get(); };
public abstract System.Collections.Generic.IDictionary<string,string> InputParameters { get; }
member this.InputParameters : System.Collections.Generic.IDictionary<string, string>
Public MustOverride ReadOnly Property InputParameters As IDictionary(Of String, String)

Valor de propiedad

que IDictionary contiene parámetros de entrada.

Excepciones

Se ha llamado a un método que ha intentado escribir en la colección IDictionary que contiene parámetros de entrada.

Ejemplos

En el ejemplo de código siguiente, la plantilla de formulario de InfoPath que contiene el código del Loading controlador de eventos se abre desde la línea de comandos o una dirección URL mediante la sintaxis siguiente.

Línea de comandos:

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

URL:

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

Como alternativa, puede abrir el nuevo formulario y pasar parámetros de entrada desde el código mediante el NewFromFormTemplateWithInputParameters(String, String) método de la XmlFormCollection clase , el NewFromSolutionWithInputParameters(String, String) método de la ExternalApplication interfaz o el NewFromSolutionWithInputParameters(Object, Object) método de XDocumentsCollection.

Nota: Los dos últimos métodos están diseñados para su uso desde código de automatización externo y no se pueden llamar desde el código de formulario.

La propiedad InputParameters se usa desde un Loading controlador de eventos para establecer el valor del campo Departamento en "Contabilidad" y el valor del campo Cuenta en "Contoso" cuando se abre el formulario. Los pares nombre-valor que especifican los valores se pueden pasar como parámetros de entrada mediante la opción de línea de comandos /InputParameters, el parámetro de entrada url o NewFromFormTemplateWithInputParameters(String, String) el método .

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 &lt;&gt; 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

Comentarios

Los parámetros de entrada constan de uno o varios pares nombre-valor separados por el carácter de y comercial (&) que se especifican cuando se abre una plantilla de formulario desde la línea de comandos o un archivo por lotes mediante la opción de línea de comandos /InputParameters. Los parámetros de entrada también se pueden especificar mediante parámetros de consulta cuando se abre una plantilla de formulario desde una dirección URL.

Nota: Aunque un IDictionary normalmente es de lectura y escritura, InfoPath impide las llamadas a cualquier método que escriba en IDictionary (como los métodos Add o Clear ). Si se trata de hacer llamadas que vayan a escribir en la colección IDictionary devuelta por la propiedad InputParameters, se iniciará una InvalidOperationException.

Únicamente se puede acceder a este miembro con formularios que se ejecuten en el mismo dominio que el formulario que está actualmente abierto o con formularios a los que se hayan concedido permisos entre dominios.

Se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler o en un explorador web.

Se aplica a