WebApplication 内で DropDownList を使用しています。リストの各アイテムに追加の情報を保持する必要があります。どうすればこれを達成できますか?
4 に答える
<select>
HTML では、ドロップダウンはのコレクションである 要素によって表され<option>
ます。それぞれoption
に値とテキストがあります。それで全部です。そのため、追加情報をデータ ストアに保持し、必要に応じて選択した要素の値を使用してクエリを実行します。
各リストアイテムで独自のカスタム属性を使用するのはどうですか。たとえば、次のようになります。
<option value="1" data-RecordID="foo">Value 1</option>
<option value="2" data-RecordID="bar">Value 2</option>
これが懸念事項である場合にカスタム属性がどのように検証されるかについてのリンクは次のとおりです。
また、私が含めたリンクでは、「data=」属性がHTML5で有効なXHTMLである方法について説明していますが、現在それらを使用しないと考える理由はありません。javascriptを使用してクライアント側にアクセスするか、.NETサーバー側のコードで.Attributes()
コレクションを使用してアクセスできます。.SelectedItem
もちろん、DropDownList から継承して、カスタム DropDownList を作成します。データの別のプロパティを追加します。最も簡単な実装は、新しいプロパティを ddl に入力するアイテムのコレクションにすることです。おそらく、既に持っているデータを記述するクラスがあるので、そのタイプのプロパティを作成します。データが入力された後、このコレクションから DataTextValue と DataValueField を設定することもでき、それを aspx ページに接続する必要さえありません。
追加データをクライアント側で利用できるようにするその他のオプションとして、ドロップダウンと同じデータ ソースにバインドされたリピーターを使用し、非表示フィールドを追加データでレンダリングするか、JavaScript 配列をレンダリングすることができます。