次の方法で共有


LoadingEventArgs.InputParameters プロパティ

定義

IDictionary/InputParameters コマンド ライン オプション、URL 内のクエリ パラメーター、または 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)

プロパティ値

IDictionary入力パラメーターを含む 。

例外

呼び出されたメソッドが、入力パラメーターを含む IDictionary への書き込みを試みました。

次のコード例では、次の構文を使用して、イベント ハンドラー コードを Loading 含む InfoPath フォーム テンプレートをコマンド ラインまたは 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)使用して、新しいフォームを開き、ExternalApplicationNewFromSolutionWithInputParameters(String, String)コードから入力パラメーターをNewFromSolutionWithInputParameters(Object, Object)XDocumentsCollectionXmlFormCollectionすこともできます。

: 最後の 2 つのメソッドは、外部オートメーション コードから使用するように設計されており、フォーム コードから呼び出すことはできません。

InputParameters プロパティは、イベント ハンドラーからLoading使用され、フォームを開いたときに Department フィールドの値を "アカウンティング" に、Account フィールドの値を "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 コマンド ライン オプションを使用してフォーム テンプレートをコマンド ラインまたはバッチ ファイルから開いたときに指定されるアンパサンド (&) 文字で区切られた 1 つ以上の名前と値のペアで構成されます。 入力パラメーターは、フォーム テンプレートが URL から開かれるときにクエリ パラメーターを使用して指定される場合もあります。

: IDictionary は通常、読み取り/書き込みですが、InfoPath は IDictionary に書き込むメソッド ( Add メソッドや Clear メソッドなど) の呼び出しを禁止します。 InputParameters プロパティによって返される IDictionary への書き込みを行う呼び出しを実行しようとすると、InvalidOperationException がスローされます。

このメンバは、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームだけがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開いたフォームで実行されるコードからアクセスできます。

適用対象