-1

ajax 呼び出しを使用してデータベースにアクセスし、ドロップダウンをロードしています。さて、これは、誰かがその方法を考え出したので、私が働いている場所で多くのことを行っていることです.

スーパーバイザーから、新しいページごとにコードをやり直すことなく、複数のページなどで簡単に使用できる ajax 呼び出しを作成するように依頼されました。私のコード:

コントローラ

Function Index(ByVal KovID As String) As JsonResult
    Dim db As New Database1Entities
    Dim record As New List(Of BodyStyle)
    record = (From b In db.BodyStyles Where b.KovID = KovID Select b).ToList
    Return Json(record, JsonRequestBehavior.AllowGet)
End Function

JQuery

function ajaxSuccess(record) {
    var drop2 = $('#Vehicle_BodyStyle_value');
    drop2.get(0).options.length = 0;
    drop2.get(0).options[0] = new Option("Please Select One", "-1");
    $.each(record, function (index, item) {
        drop2.get(0).options[drop2.get(0).options.length] = new Option(item.BodyStyle1, index);
    });
}

function ajaxError() {
    $('#Vehicle_BodyStyle_value').get(0).options.length = 0;
    $('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Error!", "-1");
    alert("Failed to load styles");
}

$('#Vehicle_KovId_value').change(function () {
    var kovID = $(this).val();
    var drop2 = $('#Vehicle_BodyStyle_value');
    if (kovID != null && kovID != '') {
        drop2.get(0).options.length = 0;
        drop2.get(0).options[0] = new Option('Please Select One', '-1');
        $.ajax({
            type: "GET",
            url: '/Ajax/Index',
            async: false,
            data: { KovID: kovID },
            contentType: "application/json; charset=utf-8",
            success: ajaxSuccess,
            error: ajaxError
        });
    }
});

今、私はVB.NETを知りません。実際、同僚がコントローラーを手伝ってくれましたが、彼はこの件についてこれ以上支援するためにここにいるわけではありません。

上司からの私の質問は、どうすればこれを機能させることができるかということです。

ByValコントローラー クラスの が に変更された場合、ajax 呼び出しByRefの行に何かを渡して、data:このコードを再利用し、書き換えないようにすることはできますか?

どんな助けや説明も大歓迎です。

4

1 に答える 1