ASP.NET-ObjectDataSource:複数選択リストボックスをControlParameterとして使用
-
10-07-2019 - |
質問
ObjectDataSourceコントロールにデータバインドされたGridViewコントロールを含むフォームがあります。 ObjectDataSourceのControlParametersとして既に使用されているTextBoxコントロールがいくつかあります。 ObjectDataSourceが{TypeName =" myDataClass"}に関連付けられているカスタムデータオブジェクトもあります。値はObjectDataSourceからmyDataClassに渡されます。
ここで、複数選択リストボックスをControlParameterとして使用する必要があります。 ListBoxのSelectedValueパラメーターを使用すると、ObjectDataSourceにはリスト内で最初に選択された項目のみが表示されます。
質問です。カスタムオブジェクト" myDataClass"に渡される複数選択リストボックスの値をすべて取得するにはどうすればよいですか。最初に選択したものだけではなく?したがって、[" multi-select"]
ご協力ありがとうございます!
解決
複数選択リストボックスには注意が必要です。選択した値のリストを作成するには、コード内のアイテムをループする必要があります。そのため、おそらくこれを行うカスタムパラメータを実装する必要があります。
宣言的に行うのではなく、コードビハインドからグリッドにバインドする必要がある場合があります。
他のヒント
これは典型的な問題です。複数選択リストボックスは、選択したすべての値ではなく、常に最初に選択した値を返します。コレクション全体をループして、個々の値が選択されているかどうかを確認する必要があります。