0

MVC Razor-View で 2 つのドロップダウンを取得しました。

@Html.DropDownListFor(x => x.SelectedPrefix, Model.GetAssignablePrefixes() , new { @id = "prefixDropDown" }) 
@Html.DropDownListFor(x => x.SelectedSuffix, Model.GetAssignableSuffixes(Model.SelectedPrefix) , new { @id = "suffixDropDown" })

最初のドロップダウンを選択すると、最初のドロップダウンで選択された値に応じて、2 番目のドロップダウンの内容が変更されます。(そのため、メソッド GetAssignableSuffixes(Model.SelectedPrefix) が呼び出されます)

非常に複雑な計算があるため、すべてのロジックを JavaScript メソッドに入れたくありません。

ここSOでいくつかの「かなりの」類似の質問を見つけましたが、DropDownListForではそうではありません。それに対するアプローチはありますか?

4

1 に答える 1

2

DropDownListFor は、ページが最初にレンダリングされるときにサーバーで評価されます。少なくとも部分的にクライアント側でこれを行う必要があります。最初のドロップダウンが変更されたときに AJAX 呼び出しを実行して計算をサーバーにプッシュし、AJAX 呼び出しによって返された結果を 2 番目のドロップダウンに入力することができます。

于 2013-09-04T15:54:27.780 に答える