1

ASP.NET(ここでは主に2.0について話します)では、物のコレクション(私が推測している列挙可能なタイプがトリガーです)を受け取るオブジェクトにプロパティを設定し、それを宣言的に参照できることを知っています。例えば:

<ObjectDataSource properties="blahblahblah">
    <SelectParameters>
        <asp:Parameter />
    </SelectParameters>
</ObjectDataSource>

それが<asp:Parameter />私の質問の根源である部分です。タイプのより単純なコレクションが必要だったとしましょう。または、ジェネリックスがない場合は、 IntegerCollectionList<String>またはStringCollectionと言います。それを宣言的にどのように使用しますか?許可されていますか<string value=''>、それとも生の値をそのように入れることができます<StringCollection>string, string, string</StringCollection>か?

編集:

質問がはっきりしていなかった気がします。ObjectDataSourceがそのSelectParametersプロパティをParametersCollectionとして実装し、そのプロパティを宣言的に(ASPXページで)使用して、そのコレクション内にパラメータータイプを設定できることを理解しています。私が疑問に思っているのは、別のコントロールのプロパティとしてStringCollectionのようなものを作成した場合、そのコレクションに文字列を追加するための構文(ASPX)はありますか?または、DropDownListがListItemsを取得してコレクションを埋める方法のようなラッピングクラスを定義する必要がありますか?

4

2 に答える 2

1

objectdatasourceでは、selectparameterは、コレクションを返すメソッド内のパラメーターを参照します。そのパラメータは、文字列から変換できるものである必要があり、コレクションや配列にすることはできません。

于 2010-07-16T21:07:54.817 に答える
1

私は最終的にこれに必要なものを見つけました。一般的な答えは、プロパティでTypeConverter属性を使用することです。GridViewは、(一例として)DataKeyNamesを使用してこれを行い、文字列内の名前のコンマ区切りリストを文字列の配列に変換します。

于 2010-10-22T20:06:15.903 に答える