0

SQL Server のテーブルからレコードを取得したいドロップダウン リスト値の選択に基づいて、ドロップダウン リストを含むビューを作成しています。この目的のために、入力パラメーターとして DDL 選択値を使用し、出力パラメーターとしてテーブルから取得するレコードを使用して、ストアド プロシージャを作成しました。入力パラメーター値を指定して MVC でこれを行う方法と、出力パラメーター値のコレクションを取得する方法、および MVC のビューに出力パラメーター値を表示する方法

4

1 に答える 1

0

要件を実装する方法を理解するための例を挙げることができます。

次の構造を持つ州の選択と都市の選択を含むビューがあるとします。

@Html.DropDownListFor(m => m.MyStateId, Model.MyStatesList, new { id = "ddlStates" })
@Html.DropDownListFor(m => m.MyCityId, Model.MyCitiesList, new { id = "ddlCities" })

そして、次のように、選択した州に応じて都市を取得するアクションがあります。

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetCities(int stateId)
{
    var myRepository = new Repository();
    var citiesList = myRepository.GetCities(stateId);

    return Json(citiesList);
}

次に示すように、都市の選択をいくつかの州の選択に普及させたい場合は、次に示すようにjQueryを使用するか、他の JavaScript ライブラリを使用して Ajax 呼び出しを構築し、純粋な JavaScript を使用することもできます。Ajax は、定義されたアクションを呼び出し、目的地の選択 (都市) に結果を次のように入力します。

$(document).ready(function() {
    $('#ddlStates').change(function(){
        var stateId = $('#ddlStates').val();
        $.ajax({
            type: "POST",
            url: "/Controller/GetCities",
            data: "{stateId: '" + stateId + "'}",
            dataType: "json",
            success: function(response) {
                var mySelect = $('#ddlStates')

                        $.each(response, function(val, text) {
                            mySelect.append(
                                $('<option></option>').val(val).html(text)
                            );
                         });
                     }
            });
    });
});

私があなたに与えるこの例は、要件の表面をスクラッチすることを目的としていますが、アクションから返されるデータ変換、宛先選択を設定する方法、および実際の実装で直面する可能性のあるその他の問題に対処する必要があります。 .

とにかく出発点として役立つことを願っています。

于 2013-08-21T07:29:51.700 に答える