Compartilhar via


LoadingEventArgs.InputParameters Propriedade

Definição

Obtém um IDictionary que contém todos os parâmetros de entrada especificados usando a opção /InputParameters command-line, parâmetros de consulta em uma URL ou um dos 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 da propriedade

Um IDictionary que contém parâmetros de entrada.

Exceções

Um método foi chamado que tentou gravar no IDictionary que contém parâmetros de entrada.

Exemplos

No exemplo de código a seguir, o modelo de formulário InfoPath que contém o código do Loading manipulador de eventos é aberto da linha de comando ou de uma URL usando a sintaxe a seguir.

Linha de comando:

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, você pode abrir o novo formulário e passar parâmetros de entrada do código usando o NewFromFormTemplateWithInputParameters(String, String) método da XmlFormCollection classe, o NewFromSolutionWithInputParameters(String, String) método da ExternalApplication interface ou o NewFromSolutionWithInputParameters(Object, Object) método do XDocumentsCollection.

Observação: os dois últimos métodos são projetados para uso do código de automação externa e não podem ser chamados do código de formulário.

A propriedade InputParameters é usada de um Loading manipulador de eventos para definir o valor de campo do Departamento como "Contabilidade" e o valor do campo Conta como "Contoso" quando o formulário é aberto. Os pares nome/valor que especificam os valores podem ser passados como parâmetros de entrada usando a opção /InputParameters command-line, url input parameter ou NewFromFormTemplateWithInputParameters(String, String) method.

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

Comentários

Os parâmetros de entrada consistem em um ou mais pares de nome/valor separados pelo caractere ampersand (&) especificado quando um modelo de formulário é aberto da linha de comando ou de um arquivo em lote usando a opção /InputParameters command-line. Parâmetros de entrada também podem ser especificados usando parâmetros de consulta quando um modelo de formulário é aberto de uma URL.

Observação: enquanto um IDictionary normalmente é lido/gravado, o InfoPath impede chamadas para todos os métodos que gravam no IDictionary (como os métodos Adicionar ou Limpar ). Todas as tentativas de fazer chamadas que gravam no IDictionary retornadas pela propriedade InputParameters lançarão um InvalidOperationException.

This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.

This type or member can be accessed from code running in forms opened in Microsoft InfoPath Filler or in a Web browser.

Aplica-se a