0

みんなにとって良い一日

jqueryを含むasp.net mvc4プロジェクトがあります。私の編集フォームでは、チェックされたチェックボックスの配列を送信しよう.getJSONとし、JsonResult で要素の配列を取得する必要があります。しかし、プロパティを受け取る配列の代わりにnull、私のコードは次のとおりです。

JQuery

配列の sendind に対して 2 つの異なる関数を送信してみます

$(function () {
    var values = [];
    $(".checkboxUniversities:checked").each(function () {
        values.push($(this).val());
    });
    $(".checkboxUniversities").change(function () {
        $.getJSON('/Administrator/ProgramList/' + values, function (data) {
            var items = '<option>Select a Program</option>';
            $.each(data, function (i, program) {
                items += "<option value='" + program.Value + "'>" + program.Text + "</option>";
            });
            $('#EducationProgramBachelorId').html(items);
        });
    });
});

$(function () {
    var values = [];
    $("input[name='selectedLatUniversities']:checked").each(function () {
        values.push($(this).val());
    });
    $(".checkboxUniversities").change(function () {
        $.getJSON('/Administrator/ProgramList/' + values, function (data) {
            var items = '<option>Select a Program</option>';
            $.each(data, function (i, program) {
                items += "<option value='" + program.Value + "'>" + program.Text + "</option>";
            });
            $('#EducationProgramBachelorId').html(items);
        });
    });
});

コントローラーの C# コード

valuesこれは、変数の宣言を変更しようとしていますが、nullまだです。

public JsonResult ProgramList(string values)
    {
        //some code
    }

public JsonResult ProgramList(string[] values)
    {
        //some code
    }

ネットワークタブを開いて、送信リンクが次のようになっていることを確認しました。

/Administrator/ProgramList/Uni1,Uni2,Uni3など、チェックしたすべてのチェックボックス。

どこが間違っているのかわかりません。誰にもアイデアはありますか?

<script>PS: Razor ビューのタグ内に配置された JQuery コード

4

3 に答える 3

0

getJSON で値をオブジェクトとして送信する

これを試して

 var values = {};
 .....//your codes
 $.getJSON('/Administrator/ProgramList/',{"values":values}, function (data) {
 ..
于 2013-09-12T17:44:46.387 に答える