私のプロジェクトには、EntityDataSource からバインドする 2 つのドロップダウン リストがあります。2 番目の Dropdownlist は、最初の DropDownlist に基づいてバインドする必要があります。これどうやってするの?

私のプロジェクトには、EntityDataSource からバインドする 2 つのドロップダウン リストがあります。2 番目の Dropdownlist は、最初の DropDownlist に基づいてバインドする必要があります。これどうやってするの?

ASP.net AJAXを使用している場合、AJAXコントロールツールキットには「CascadingDropDown」と呼ばれるコントロールがあり、それを使用できます。
プロパティとして ID、Name を持つ Entity1 と、プロパティとして ID、Entity1ID、OrderNumber を持つ Entity2 を想定します。
練る
`Dropdownlist1.Datasource = list(of Entity1)
Dropdownlist1.DataValueField = "ID"
Dropdownlist1.DataTextField = "Name"
Dropdownlist1.databind()`
dropdownlist1 の selectedvalue 変更イベントで、ユーザーが有効な値を選択したかどうかを確認してから、Entity2 データソースから linq 検索を実行し、それを Dropdownlist2 にバインドします。
Avani が述べたように、カスケード ドロップダウンリストを使用することもできます。
ポストバックが必要ない場合は、次のようにできます。
<select id="s1" >
<option>-----</option>
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
</select>
<br />
<select id="s2" >
</select>
<script type="text/javascript">
var s1 = document.getElementById("s1");
var s2 = document.getElementById("s2");
s1.onchange = function () {
s2.options.length = 0;
var value = this.value;
if (value != "-----") {
var opt = document.createElement("OPTION");
opt.text = "sub " + value;
opt.value = "sub " + value;
s2.options.add(opt);
}
}
</script>
または、サーバー側で同じ種類のロジックを実行できますが、これによりポストバックがシーンにもたらされます。