ページ全体のポストバックを行う場合を除き、JavaScript を使用する必要があります。このタイプの場合は、javascript/ajax が最適です。個人的には、MVC に切り替えたとき、このすべてのビジネス ロジックが MVC モデルの外で行われていることを受け入れるのに苦労しました。しかし、最終的には、Web サイトを最適に機能させるものです (ユーザーはコードを見て、それがどれほど美しいかを知りません)。
とにかく、ページ全体を投稿しない限り、ページ/フォームの一部としてパーシャルがレンダリングされるため、パーシャルも機能しません。
同じコントローラー内のメソッドへのjson呼び出しをトリガーする最初のドロップダウンにonchangeイベントを追加するだけです...
...jquery...
$("#mydropdown").change(function() {
$.post("/Controller/DropdownChangedJSON", { firstdropdownvalue: $("#mydropdown").val() }, function(data) {
$("#seconddropdown").empty();
// loop through "data" to populate dropdown
}); //post
}); //mydropdown_change()
そしてあなたのコントローラーで:
public JsonResult DropdownChangedJSON(string firstdropdownvalue) {
//get results
List<datamodel> myarray = //something
return new JsonResult { Data = new { success = true, rows = myarray } };
}
お役に立てれば