0

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

問題

4

3 に答える 3

1

ASP.net AJAXを使用している場合、AJAXコントロールツールキットには「CascadingDropDown」と呼ばれるコントロールがあり、それを使用できます。

MSサンプル

于 2012-06-02T07:25:20.730 に答える
0

プロパティとして 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 が述べたように、カスケード ドロップダウンリストを使用することもできます。

于 2013-11-28T11:41:38.297 に答える
0

ポストバックが必要ない場合は、次のようにできます。

<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>

または、サーバー側で同じ種類のロジックを実行できますが、これによりポストバックがシーンにもたらされます。

于 2012-06-02T08:18:19.067 に答える