LoadingEventArgs.InputParameters Свойство

Определение

IDictionary Возвращает объект , содержащий все входные параметры, заданные с помощью параметра командной строки /InputParameters, параметров запроса в URL-адресе или одного из методов NewFromFormTemplateWithInputameters.

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)

Значение свойства

Объект , IDictionary содержащий входные параметры.

Исключения

Был вызван метод, который пытался выполнить запись в объект IDictionary, содержащий входные параметры.

Примеры

В следующем примере кода шаблон формы InfoPath, содержащий код обработчика Loading событий, открывается из командной строки или URL-адреса с использованием следующего синтаксиса.

Командная строка:

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

URL:

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

Кроме того, можно открыть новую форму и передать входные параметры из кода с помощью NewFromFormTemplateWithInputParameters(String, String) метода XmlFormCollection класса, NewFromSolutionWithInputParameters(String, String) метода ExternalApplication интерфейса или NewFromSolutionWithInputParameters(Object, Object) метода XDocumentsCollection.

Примечание. Последние два метода предназначены для использования из внешнего кода автоматизации и не могут вызываться из кода формы.

Свойство InputParameters используется из Loading обработчика событий, чтобы при открытии формы задать для поля Department значение "Бухгалтерия", а для значения поля "Учетная запись " — "Contoso". Пары "имя-значение", указывающие значения, могут передаваться в качестве входных параметров с помощью параметра командной строки /InputParameters, входного параметра URL-адреса или 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 &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

Комментарии

Входные параметры состоят из одной или нескольких пар "имя-значение", разделенных символом амперсанда (&), которые указываются при открытии шаблона формы из командной строки или пакетного файла с помощью параметра командной строки /InputParameters. Входные параметры также можно указать с помощью параметров запроса при открытии шаблона формы из URL-адреса.

Примечание. Хотя IDictionary обычно выполняет чтение и запись, InfoPath предотвращает вызовы любых методов, которые записывают в IDictionary (например , методы Add или Clear ). Любые попытки выполнить запись в IDictionary с помощью вызова метода, возвращенные свойством InputParameters, вызовут InvalidOperationException.

Доступ к этому элементу предоставляется только формам, работающим в том же домене, что и текущая открытая форма, а также формам с междоменными правами доступа.

Доступ к этому типу или элементу предоставляется только из кода, выполняющегося в формах, открытых в Microsoft InfoPath Filler или браузере.

Применяется к